centos7安装boost-1.78,添加通过-fPIC编译

centos版本
在这里插入图片描述
安装依赖
yum -y install python3
在这里插入图片描述
yum -y install python36-devel
在这里插入图片描述
ln -s /usr/include/python3.6m/* /usr/include/
如果不执行软连接,boost在编译时会报很多的警告

安装boost
最近用到了webrtc,选择了kurento技术栈,官网提到了在Ubuntu编译部署和使用docker部署。但实际中服务器是centos,还不允许用docker部署😎,太无语了😂。最后想了想是否可以通过编译kurento源码部署,编译时需要用到cmake,这里记录下:

下载对应版本的boost
https://sourceforge.net/projects/boost/files/boost/1.78.0/

tar xvf boost_1_78_0.tar.gz
cd boost_1_78_0
./bootstrap.sh
./b2 install

如果采用./b2 install编译,会在引用的过程中报recompile with -fPIC,故建议采用如下方式编译

./b2 include=static,shared link=static link=shared cxxflags=-fPIC cflags=-fPIC install

编译安装完成后,会把boost头文件拷贝到/usr/local/include/目录下,库文件在/usr/local/lib/下。
使用boost出现的问题
1、cmake时,会出现如下的错误

CMake Error at /usr/local/lib/cmake/Boost-1.78.0/BoostConfig.cmake:240 (cmake_policy):
  Policy "CMP0057" is not known to this version of CMake.

需要安装上面的提示找到改行命令
在这里插入图片描述
将上面的修改为如下内容

if(POLICY CMP0057)
 cmake_policy(SET CMP0057 NEW) # if IN_LIST
endif()

2、报if given arguments:“all”“in_list”“boost_find_components” unknown arguments specified
测试出是boost和cmake版本不匹配
解决:cmake升级到3.22.2

参考地址:boost 1.70 编译静态库时加入fPIC

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值