boost 源码编译和安装 -fPIC

本文介绍了如何在CentOS 7上编译Boost源码并解决静态库缺少-fPIC选项的问题。通过编辑gcc.jam文件,修改链接规则,使得静态库编译时添加-fPIC标志。步骤包括解压Boost源码,修改编译规则,执行编译和安装命令,最终使动态库能正常调用Boost静态库。
摘要由CSDN通过智能技术生成

1.资源

系统:centos 7

boost源码:使用的是1.54版本的 boost_1_54_0.tar.gz,具体自己去boost官网下载


2.解压boost

tar -zxvf boost_1_54_0.tar.gz


注意:由于boost 默认编译的静态库是没有-fPIC选项,编译参数也没有可选的项来添加-fPIC

             如果按默认提供的参数选项编译,那么在编写动态库调用boost中的静态库时会报错,

             如:libboost_serialization.a(basic_iarchive.o): relocation R_X86_64_32S against `_ZTVN5boost7archive6detail14basic_iarchiveE' can not be used when            making a shared object; recompile with -fPIC


3. 解决动态库调用boost静态库时报错 -fPIC的方法

cd boost_1_54_0/tools/build/v2/tools

编辑gcc.jam文件

vim gcc.jam

找到内容

rule setup-fpic ( targets * : sources * : properties * )
{
    local link = [ featur

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值