提示:文章
文章目录
前言
前期疑问:
本文目标:
一 背景
二、编译
#2.1 下载boost源码
源码地址:https://github.com/boostorg/boost
2.2 在linux上手动编译
没有configure文件,执行bootstrap.sh文件
执行完bootstrap.sh文件还是没有configure文件
出现了一个b2文件
执行./b2,执行b2文件
执行完文件情况
还是没有.configure文件
又看了shell脚本
./b2 install --prefix=../boost_install/
将boost安装在…/boost_install/路径中,安装好后查看boost_install文件夹,…/boost_install/文件夹有include和lib两个文件夹。其中lib文件夹中是很多.a文件。
对此我可能是这么理解的。执行b2文件应该等于执行make。
2.2 脚本编译
将上述的编译过程写到shell脚本文件中,即得到如下脚本文件
#!/bin/bash
set -ex
PREFIX_INC_PATH=$(cd "$(dirname "$0")";pwd)
#tar xzvf boost_1_74_0.tar.gz
chmod -R 777 boost
cd boost
./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2 cxxflags=-fPIC cflags=-fPIC toolset=gcc link=static
./b2 install --prefix=../boost_install/
cd ..
rm -rf ${PREFIX_INC_PATH}/../include ${PREFIX_INC_PATH}/../lib
mkdir -p ${PREFIX_INC_PATH}/../lib/linux
cp -rf boost_install/include ../
cp -f boost_install/lib/libboost_date_time.a ../lib/linux/
cp -f boost_install/lib/libboost_filesystem.a ../lib/linux/
cp -f boost_install/lib/libboost_log.a ../lib/linux/
cp -f boost_install/lib/libboost_regex.a ../lib/linux/
cp -f boost_install/lib/libboost_serialization.a ../lib/linux/
cp -f boost_install/lib/libboost_system.a ../lib/linux/
cp -f boost_install/lib/libboost_thread.a ../lib/linux/
cp -f boost_install/lib/libboost_iostreams.a ../lib/linux/
rm -rf boost_install
rm -rf boost
以上就是boost编译过程。
三、
3.1
总结
未完待续