linux下交叉编译boost

申明此文章只做个人笔记

# 下载Boost源代码
wget https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gz
 
# 解压源代码
tar -xzf boost_1_78_0.tar.gz
cd boost_1_78_0 
 
# 执行bootstrap脚本
./bootstrap.sh --prefix=/home/code/boost_1_78_0/install -with-libraries=date_time,filesystem

#到此步骤单独修改project-config.jam 文件 修改交叉编译器注意里面的空格不能删)
#
#if ! gcc in [ feature.values <toolset> ]
#{
#    using gcc : : arm-linux-gnueabi-gcc ;
#}
#
#

# 配置编译环境
./b2 

./b2 install
 
 

这个库和一般的编译方式不太一样,需要先运行脚本生成一个b2的玩意(等价于make) ,运行./bootstrap.sh 脚本时候可以带参数。参数大概内容使用–with-libraries=list或–without-libraries=list来添加或排除相应的库

1.下面命令可以查看bootst包含哪些库

./bootstrap.sh --show-libraries

2.生成 project-config.jam配置文件时候可以把下面参数配置进去,怎么把交叉编译器配置进去还未研究明白

./bootstrap.sh --prefix=/home/code/boost_1_78_0/install -with-libraries=date_time,filesystem

 3.修改project-config.jam配置文件,添加自己的交叉编译器,里面别的参数也可以在此修改,不适用上面脚本附带配置参数直接改这个文件即可(我使用的交叉编译器:arm-linux-gnueabi-gcc,换成自己的即可,注意后面的“;”前面有一个空格)。

if ! gcc in [ feature.values <toolset> ]
{
    using gcc : : arm-linux-gnueabi-gcc ;
}

 4.运行完./bootstrap.sh生成 b2. 执行./b2    ./b2 install 在/boost_1_78_0/install 下可以看到库和头文件。

NDK交叉编译Boost是将Boost编译成适用于Android平台的文件,以便在Android应用中使用Boost的功能。下面是一般的NDK交叉编译Boost的步骤: 1. 下载NDK:首先,你需要下载并安装Android NDK,可以从官方网站(https://developer.android.com/ndk/downloads)上获取最新版本的NDK。 2. 下载Boost:接下来,你需要下载Boost的源代码。你可以从Boost官方网站(https://www.boost.org/users/download/)上下载最新版本的Boost。 3. 配置Boost:解压下载的Boost源代码,并进入解压后的目录。在终端中执行以下命令来配置Boost: ``` ./bootstrap.sh --with-libraries=<library_names> --with-toolset=<toolset_name> --prefix=<install_path> ``` 其中,`<library_names>`是你需要编译的Boost的名称,可以根据你的需求进行选择;`<toolset_name>`是你要使用的编译工具链,例如`clang`或`gcc`;`<install_path>`是你希望安装Boost的路径。 4. 编辑user-config.jam文件:在Boost源代码目录下,创建一个名为`user-config.jam`的文件,并添加以下内容: ``` using clang : <ndk_version> : <path_to_ndk>/toolchains/llvm/prebuilt/<host_os>/bin/clang++ ; ``` 其中,`<ndk_version>`是你下载的NDK的版本号,`<path_to_ndk>`是你安装NDK的路径,`<host_os>`是你的操作系统类型(例如`darwin-x86_64`或`linux-x86_64`)。 5. 开始编译Boost:在终端中执行以下命令来开始编译Boost: ``` ./b2 toolset=clang-<ndk_version> target-os=android link=static threading=multi variant=release install ``` 这将使用指定的编译工具链和选项来编译Boost,并将编译结果安装到之前配置的安装路径中。 6. 完成编译:等待编译过程完成,然后你将在之前配置的安装路径中找到编译好的Boost文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在嵌入式里摸爬滚打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值