转载
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/ ;)
执行完以上操作就算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>
网友评论