CentOS7安装boost_1.80

57 篇文章 2 订阅
在CentOS7上安装boost_1.80时,首次安装成功生成了.so和.a文件。但后续安装其他库后,重新编译boost,静态库出现问题,libboost_filesystem.a大小异常且链接报错。解决办法是使用包含static,shared选项的b2命令进行编译安装。
摘要由CSDN通过智能技术生成

CentOS7安装boost_1.80遇到莫名其妙的问题。

第一次按如下命令安装,这是以前安装1.67的命令,安装后生成动态链接库.so和静态链接.a文件。写程序编译生成其他动态链接库.so,链接用到boost的静态库.a也没问题。

cd boost_1_80_0
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 cflags='-fPIC' cxxflags='-fPIC'
sudo ./b2 install

后来又在系统上安装了一些别的库,如mkl、armadillo、protobuf、sqlite等,再次按上面命令重新编译boost_1.80,静态库.a文件就不对了,比如libboost_filesystem.a相比之前编译版本变小了,而且新生成的boost静态库 .a参与链接生成别的动态库.so时报错,提示要recompile with -fPIC,说明此次编译静态库时-fPIC没起作用。也不知哪个环节影响了编译环境,没深究,后来找到解决办法,用下面的编译命令就没问题了。

cd boost_1_80_0
./bootstrap.sh --with-libraries=all --with-toolset=gcc
sudo ./b2 include=static,shared link=static link=shared cxxflags=-fPIC cflags=-fPIC install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值