开发环境:ubuntu10
文章目录
- 查找boost中要安装的库
- 去除不需要的库及制定安装路径
- 添加自己编译器路径
- 编译boost
- 安装boost
- 添加需要的so文件到目标系统
1. 查找boost中要安装的库
在命令行进入boost的解压目录,执行
./bootstrap.sh --show-libraries
查看所有库如下
2. 去除不需要的库及制定安装路径
由于我们仅需使用serialization
库,因此使用 --without-libraries=, , , 逗号隔开去掉不想编译的库,--prefix=/../ 指定编译后的安装路径
./bootstrap.sh --without-libraries=atomic, chrono, container,context,coroutine,date_time,exception,filesystem,graph,graph_parallel,iostreams,locale,log,math,mpi,program_options,python,random,regex,signals,system,test,thread,timer,wave --prefix=/home/jishufeng/boost_1_57_0_qt4_7
备注:经验证,在去掉多个库后,编译时仍需要很长时间
3. 添加自己编译器路径
生成有 b2 和 bjam ,以及一个 project-config.jam 的文件,修改该文件的一行(指定自己的编译器
):
using gcc : : /home/sinc/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc ;
注意:这中间是有空格的,如下图标示的地方:
特别是最后一个分号前是有空格的,要不然会出错。
4. 编译boost
执行 ./bjam 即可,这是编译,创建的 lib 文件默认在 stage 文件夹
5. 安装boost
编译完后,执行 ./bjam install 即进行安装,我的上面 --prefix=/.../ 指定的目录就是安装目录
6. 添加需要的so文件到目标系统
一般将需要的so文件拷贝到
/usr/lib
目录下即可。
关于so文件的一些知识,可参考
Linux动态链接库.so文件的创建与使用
本文参考 # boost库交叉编译(Linux生成ARM的库)