c++由于其简洁,高效,跨平台,使用非常广。下面讲一下怎么在linux下编译有多个依赖项的c++文件。这是一个在mac上的xcode编译通过的一个c++的工程。

这个工程依赖了多个opencv,labsvm和json的库,要把这个工程部署到linux服务器上,需要进行以下几步:


第一步 在linux服务器上安装这些类库

  这几个类库linux上的安装包很多,随意安装一下就可以。以opencv为例,安装成功以后分别执行pwd /usr/include/opencv2/和pwd /usr/lib/opencv2/下查看,分别能看到以下文件。

第二步 利用g++对文件进行编译

g++编译的原理这里就不赘述了,生成的过程是对.cpp文件编译生成.o的中间文件,再由.o的中间文件生成可执行文件。这个过程最坑的地方是,要注意不同文件的的编译顺序,例如,main.cpp文件中引用了a.h,必须先编译a.cpp。闲话少说。

先把文件copy到linux某一路径下:

使用 vim指令,新建一个build.sh的shell文件,在里面写入如下g++编译的代码


wq保存文本以后,记得chmod改一下这个shell文件的权限,最后./build.sh运行这个shell文件,这样在上一级目录就运行了一个可执行的文件

by moon


Logo

更多推荐