美文网首页
交叉编译boost库

交叉编译boost库

作者: 送分童子笑嘻嘻 | 来源:发表于2020-01-06 09:50 被阅读0次

转载

boost库的交叉编译

2018-01-30 18:32:21 揽星逐月酒微醺 阅读数 374 收藏 更多

分类专栏: C++

<article class="baidu_pl" style="box-sizing: inherit; outline: 0px; margin: 0px; padding: 16px 0px 0px; display: block; position: relative; color: rgb(51, 51, 51); font-family: "Microsoft YaHei", "SF Pro Display", Roboto, Noto, Arial, "PingFang SC", sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">

1.从boost官网下载boost版本:

<u style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; overflow-wrap: break-word;">http://www.boost.org/users/history/version_1_66_0.html</u>

2.执行** apt-get install build-essential(目的是为了安装好象gcc,g++等一些工具进行编译)
注:我是在root用户下进行的操作,普通用户执行
sudo apt-get install build-essential**

3.解压boost库到/usr/share/
將下载好的boost 1.46.1.tar.gz(我用的是这个版本) 复制到/usr/share/目录下,然后解压,会自动生成一个boost_1_46_1这个文件夹(或者用命令解压,这里就不提了,可以自己去查解压命令)

4.编译bjam(这个东东是用来编译boost库的)
编译之前先做如下操作,由于这版本是编译msvc版的bjam,我们把它改成gcc版的bjam......
进入boost1.46.1解压目录找到bootstrap.bat用记事本打开,然后修改:
第13行將call .\build.bat > ......\bjam.log改为call .\build.bat gcc > ......\bjam.log
第33行將set toolset=msvc改为set toolset=gcc 保存退出,然后双击bootstrap.sh在终端中执行,稍等片刻会在boost_1_46_1中生成bjam
5.编译boost库: 在终端中进入/usr/share/boost_1_46_1目录
在终端中输入 cd /usr/share/boost_1_46_1
然后我在root用户下输入 ./bjam toolset=gcc --layout=tagged --build-type=complete stage进行完全编译
(普通用户的话执行:sudo ./bjam toolset=gcc --layout=tagged --build-type=complete stage)
经过漫长的等 待,命令执行完毕后,将会生成所有版本的库,并存储在:
/usr/share/boost_1_46_1/stage下
6.boost 已经编译好了,下面调用boost库
1.在/usr/include/下生成一个boost库的include文件夹连接:
ln -s /usr/share/boos t_1_46_1/boost /usr/include/boost
2.在/usr/lib/ 下生成所有boost编译出的lib库文件的对应连接 切换到stage目录下,执行 find PWD/lib/*.* -type f -exec ln -s {} /usr/lib/ \; (普通用户执行:** sudo findPWD/lib/. -type f -exec ln -s {} /usr/lib/ ;
)

执行完以上操作就算ok了****

*****************************************************分割线*********************************************************************

1.首先运行boost解压目录下的

./bootstrap.sh

2.修改生成的project-config.jam文件

修改:

using gcc : arm : arm-none-linux-gnueabi-gcc ;

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

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

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

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

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

3.测试编译效果

./bjam stage --layout=tagged --build-type=complete

还可以加(link=shared runtime-link=shared threading=multi)等编译参数

</article>

相关文章

网友评论

      本文标题:交叉编译boost库

      本文链接:https://www.haomeiwen.com/subject/sivvwctx.html