美文网首页
交叉编译boost库

交叉编译boost库

作者: 送分童子笑嘻嘻 | 来源:发表于2020-01-07 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