一、背景
环境:centos6 ,gcc7.5
要编译一个小的测试程序,其中用到了boost库,编译时需要添加上依赖。报错如下:
二、解决方法:
GCC编译学习记录(链接-依赖选项)
GCC 编译 C(C++)静态链接库(gcc -L、gcc -l)和动态链接库(gcc -fPIC -shared)的创建和使用
通过以上两篇博文了解到:gcc编译时一些编译选项的作用
在此报错的例子中,我要添加boost静态链接库,那么
首先:通过 -I
(大写的i)指定boost库中那些头文件的路径
其次:通过 -L
指定boost的库文件的路径
最后:通过-l
指定用到的库文件
这便得到最终的命令了:
g++ main.cpp processKiller.cpp -I /home/kelvin/YEECOH_LIBS/third-party-libs-static-zip/boost_1_73_0/ -L /home/kelvin/YEECOH_LIBS/third-party-libs-static-zip/boost_1_73_0/stage/lib/ -lboost_system -lpthread -lboost_filesystem
【最后还需注意一点】,我的代码里写的是<boost/process.hpp>, 那么-I 命令后面跟的路径就应该是<boost/process.hpp>中boost文件夹所在的路径,而不是process.hpp所在的路径