在Ubuntu上交叉编译Boost 1.57.0到ARM平台

14

我刚接触交叉编译过程。需要为 ARM 交叉编译 Boost 库,请建议如何交叉编译 Boost 库的步骤。是否有可能交叉编译所需的 Boost 库功能?


1
google ltib boost.spec。你尝试过什么?在编译boost后,您需要链接到它。为什么不寻找一个“文件系统构建器”?有许多选择。某些版本的boost与不同的gcc版本存在问题。在许多情况下,您不需要boost库,只需包含头文件即可。它们是模板,只需在线扩展即可。 - artless noise
1个回答

33

您可以使用以下步骤交叉编译 Boost:

  1. 引导构建系统:

    ./bootstrap.sh
    
  2. 修改配置文件(project-config.jam),使用ARM工具链,将包含using gcc的行替换为:

    using gcc : arm : arm-linux-gnueabihf-g++ ;
    
  3. 构建并安装库:

    ./bjam install toolset=gcc-arm --prefix=/usr/local/boost
    
    注意:工具链必须在$PATH中。

我按照你的指示操作,但是出现了错误信息:“找不到提供的命令 'arm-none-linux-gnueabi-g++'”。我原以为我正确安装了交叉编译器... - Darksaint2014
你用过这个吗?使用 gcc:arm:arm-linux-gnueabihf-g++;还是使用 gcc:arm:arm-none-linux-gnueabi-g++;? - Dipak D Desai
是的,我已经尝试过这两个了。我确实让boost工作了,在我使用的ARM平台上可以构建。现在我卡在ffmpeg上了,如果你有在ARM板上编译/使用ffmpeg的经验,请告诉我。感谢您的帮助! - Darksaint2014
你安装了 "arm-linux-gnueabihf-g++" 工具链吗? - Dipak D Desai
1
执行./bjam install会产生错误,但是不带install可以构建成功。 - kyb
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接