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

本文介绍如何在Linux环境下使用ARM交叉编译工具链编译Boost库。主要步骤包括下载Boost源码、配置编译环境、执行编译及安装等。适用于希望为ARM平台定制Boost库的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自: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 到目录

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

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

生成有 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 ;

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

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

 

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

 

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

 

https://i-blog.csdnimg.cn/blog_migrate/59c509894be157e37c4b4c94b0e58744.png


补充:


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目录下.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值