linux系统多版本boost共存

发布时间 2023-11-17 15:52:03作者: 我种我的苹果

因为几个库都用到boost,但是各个库依赖的boost最低版本不一样


安装boost1.71


tar -zxvf boost_1_71_0.tar.gz && cd boost_1_71_0
su - root
./bootstrap.sh --with-libraries=all
./b2
./b2 install 

用./b2 install 把boost1.71安装在默认路径了,即/usr/local下,头文件和库文件分别位于/usr/local/include和/usr/local/lib中。
对于boost1.83版本,安装编译后产物需要使用
./b2 install --prefix=/usr/
那么boost头文件和库文件分别位于/usr/include和/usr/lib中。
cmake编译指定boost库
cmake -DBOOST_ROOT=/usr ..


注意事项


1.卸载boost
如果使用yum源/rpm包安装,可以使用yum remove boost/rpm -e boost卸载;
如果源码安装,指定"prefix=/usr",需要执行"rm -rf /usr/include/boost /usr/lib/libboost*"删除boost.需要说明的是,如果编译使用cmake,那么会有boost库信息不一致问题,这是因为boost安装时,将boost库信息写入了cmake配置文件中.
参考:https://zhuanlan.zhihu.com/p/622550704
https://www.cnblogs.com/guxuanqing/p/16916317.html