linux下cpp文件,linux怎么编译cpp文件?

  • Post author:
  • Post category:linux


4ee1c05a0ec34fcb4acfb63067e4220a.png

假如我们有一个写好的demo.cpp函数,我们在linux系统下如何编译程序并运行出结果呢?

我们可以执行命令:g++ demo.cpp -o demo

生成可执行程序demo,然后再执行命令:./demo

即可以执行程序了。

同理,如果是 .c 文件,则可以执行命令:gcc demo.c -o demo

此外,在编译的时候,我们如果需要添加头文件,库文件的路径的时候,可以参考以下几个参数:

-l:用来指定程序要链接的库, -l 参数紧接着就是库名。而库名和真正的库文件名之间的关系,可以解释为:假如库名为caffe,它的库文件名则是libcaffe.so。

-L:编译程序按照 -L 指定的路进去寻找库文件,一般的,在 -L 的后面可以一次用 -l 指定多个库文件。例如linux下的.a(静态库) 和.so(动态库)。

-I:编译程序按照 -I 指定的路进去搜索头文件。(xxx.h)

举个例子,假设我写好了一个 demo.cpp 文件,需要用到 caffe 的相关文件,可以执行命令:g++ demo.cpp -o demo -I ~/caffe/include/ -D CPU_ONLY \

-I ~/caffe/.build_debug/src/ -L ~/caffe/build/lib -lcaffe