linux系统下编译cpp使文件成为可执行文件
如果我们希望在开发过程中cpp文件编译成我们想要的可执行文件,我们该怎么办?
例如,我们现在有一个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