boost库交叉编译(Linux生成ARM的库)

转自:https://www.cnblogs.com/findumars/p/7461244.html

1. 环境:

Linux系统:Ubuntu 14.04

 编译工具:arm-fsl-linux-gnueabi-gcc

2.下载boost源码:

地址:https://sourceforge.net/projects/boost/files/boost/

3. 编译:

1)解压,cd 到目录

boost库交叉编译(Linux生成ARM的库)

--show-libraries可查看所有库,如下

boost库交叉编译(Linux生成ARM的库)

boost库交叉编译(Linux生成ARM的库)

boost库交叉编译(Linux生成ARM的库)

使用 --without-libraries=, , , 逗号隔开去掉不想编译的库,--prefix=/../ 指定编译后的安装路径

boost库交叉编译(Linux生成ARM的库)

boost库交叉编译(Linux生成ARM的库)

生成有 b2 和 bjam ,以及一个 project-config.jam 的文件,修改该文件的一行(指定自己的编译器):

using gcc : : /root/Qt-ARM/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc ;

注意:这中间是有空格的,如下图标示的地方:

boost库交叉编译(Linux生成ARM的库)

boost库交叉编译(Linux生成ARM的库)

特别是最后一个分号前是有空格的,要不然会出错。

 

2)执行 ./bjam 即可,这是编译,创建的 lib 文件默认在 stage 文件夹

 

3)编译完后,执行 ./bjam install 即进行安装,我的上面 --prefix=/.../ 指定的目录就是安装目录

 

http://blog.****.net/lc250123/article/details/52468121


补充:


1. 确保ARM编译成功安装,并配置好环境变量。 
2. 解压boost压缩包 
3. 进入目录执行./bootstrap.sh, 此时形成bjam文件和project-config.jam 
4. 编辑project-config.jam, 仅修改using gcc这行。因为我使用的是arm-none-linux-gnueabi-g++,所以将其改以下即可: 
     using gcc : arm  : arm-none-linux-gnueabi-g++; (注意空格)
5. 执行./bjam 或者 ./bjam stage --layout=tagged --build-type=complete  (好像是后者生成的库文件更多)
6. 形成的静态和动态库文件就在stage目录下.