交叉编译boost_1_63_0库移植ARM平台

Linux 专栏收录该内容
31 篇文章 0 订阅

Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。

按照实现的功能,Boost可为大致归入以下20个分类,在下面的分类中,有些库同时归入几种类别。

字符串和文本处理库、容器库、迭代器库、算法库、函数对象和高阶编程库、泛型编程库、模板元编程、预处理元编程库、并发编程库、数学和数字库、排错和测试库、数据结构库、图像处理库、输入输出库、跨语言混合编程库、解析库、编程接口库、综合类库、编译器问题的变通方案库。
环境:

1、下载boost_1_63_0安装包

下载各种版本的地址:https://sourceforge.net/projects/boost/files/boost/
下载boost_1_63_0库百度云盘地址:
密码:

2、交叉编译

(1)解压,cd 到目录,执行以下命令查看所有库:

sudo ./bootstrap.sh --show-libraries

在这里插入图片描述
(2)使用 --without-libraries=, , , 逗号隔开去掉不想编译的库,–prefix=/…/ 指定编译后的安装路径,执行以下命令配置:

sudo ./bootstrap.sh --without-libraries=atomic,chrono,context,coroutine,exception,graph,graph_parallel,mpi,wave --prefix=/opt/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/default/usr/

在这里插入图片描述
生成有 b2 和 bjam ,以及一个 project-config.jam 的文件,修改该文件的using gcc一行(指定自己的编译器):
在这里插入图片描述

注意:修改格式要正确,注意两个冒号前后的空格,以及分号前面的空格!!!!

修改(这边不改也没事):

option.set prefix :(交叉编译器所在位置);

option.set exec-prefix :(交叉编译器所在位置)/bin ;

option.set libdir :(交叉编译器所在位置)/lib ;

option.set includedir :(交叉编译器所在位置)/include ;

(3)执行 ./bjam 即可,这是编译,编译的时间大概要20多分钟,耐心等待,创建的 lib 文件默认在 stage 文件夹

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

3、使用测试

在合适的目录中建立测试文件test.cpp

vi test.cpp

在这里插入图片描述
在编译程序时,需要加入对boost_thread库的引用:
如果boost库的安装位置不是在系统目录下,则还需要在编译时加上-I和-L指定boost头文件和库文件的位置

arm-linux-g++ test.cpp -L ../stage/lib/ -o test

将动态库拷贝到开发板对应库文件目录下,同时拷贝可执行文件test到arm上可以测试是否能运行;

  • 0
    点赞
  • 4
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值