多个版本boost库"/>
安装和使用多个版本boost库
工作需要,既需要编译bitshares源码又需要编译eos的源码,而两个项目分别要求boost库版本为1.57-1.65和1.67+,所以存在boost库安装一个版本不能满足两个项目的情况,于是就需要安装两个版本。
我这里考虑bitshares源码采用1.60,eos版本采用1.67,步骤如下:
一、先去下载 tar.gz文件 /,分别下载boost_1_60_0.tar.gz和boost_1_67_0.tar.gz
二、安装boost1.60,终端执行如下指令
tar -zxvf boost_1_60_0.tar.gz && cd boost_1_60_0
> su - root> ./boottrap.sh --with-libraries=all> ./b2> sudo ./b2 install #我编译bitshare项目多一点,就使用./b2 install 把boost1.60安装在默认路径了,即/usr/local下,头文件和库文件分别位于/usr/local/include和/usr/local/lib中。
三、安装boost1.67, 解压和编译源码还是跟上边一样,但是最后./b2 install指令跟上prefix 参数,指定安装路径:
...mkdir /usr/local/opt/boost1.67sudo ./b2 install --prefix=/usr/local/opt/boost1.67 这样安装完后头文件和lib文件就分别位于/usr/local/opt/boost1.67下的include和lib文件下安装就完成了
四、为项目指定boost库
bitshares和eos源码使用cmakelist组织,其通过FIND_PACKAGE(Boost ...)指令来搜索boost所在的目录,如果不加以设置的话都会默认搜索到/usr/local/下的boost1.60版本,因为bitshare用boost1.60是ok的,这里需要设置的是eos项目,方法如下:
1.如果采用终端cmake指令编译,则加上-D参数:
cd <eos_code_root>cmake -D BOOST_ROOT=/usr/local/opt/boost1.67 .2.如果采用ide,就需要在ide中设置环境变量,比如我用的是clion:clion->preferences->Build,Execution,Deployment->Cmake->environment,添加BOOST_ROOT=/usr/local/opt/boost1.67但是clion设置环境变量需要一定的反应时间,设置好后最好重启一下clion,如果还是检索出来别的版本,就再耐心等一下。
————————————————
版权声明:本文为CSDN博主「江北残刀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:
更多推荐
安装和使用多个版本boost库
发布评论