适用于ARM Raspberry Pi 3的交叉编译Boost 1.7

时间:2019-07-14 15:32:12

标签: c++11 boost arm cross-compiling

我正在为我的raspberry项目准备好boost交叉编译。到目前为止,我一直在交叉编译我的项目,但是现在我需要开始使用一些增强功能。 为此,我尝试对其进行编译,并遵循许多指南(主要指南为this),但是在执行bjam时遇到一些错误:

./bjam install toolset=gcc-arm --prefix=~/libs/ --disable-long-double --sNO_ZLIB=1 --sNO_BZIP2=1

通过将project-config.jam文件修改为using gcc : arm : arm-linux-gnueabi-g++ ;

,我已经认识到了工具链。

我正在Windows 10上使用WSL Debian。您会在路径上看到它。

这是我得到的错误:

*** argument error
* rule numbers.less ( n1 n2 )
* called with: ( 4 )
* missing argument n2
/mnt/d/Downloads/boost_1_70_0/tools/build/src/util/numbers.jam:66:see definition of rule 'numbers.less' being called
/mnt/d/Downloads/boost_1_70_0/tools/build/src/tools/common.jam:854: in common.format-name
/mnt/d/Downloads/boost_1_70_0/tools/boost_install/boost-install.jam:87: in boost-install.generate-cmake-variant-
/mnt/d/Downloads/boost_1_70_0/tools/build/src/kernel/modules.jam:107: in modules.call-in
/mnt/d/Downloads/boost_1_70_0/tools/build/src/util/indirect.jam:105: in indirect.call
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build/virtual-target.jam:902: in execute
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build/virtual-target.jam:821: in class@action.actualize
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build/virtual-target.jam:332: in actualize-action
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build/virtual-target.jam:518: in actualize-no-scanner
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build/virtual-target.jam:142: in class@virtual-target.actualize
/mnt/d/Downloads/boost_1_70_0/tools/build/src/build-system.jam:810: in load
/mnt/d/Downloads/boost_1_70_0/tools/build/src/kernel/modules.jam:295: in import
/mnt/d/Downloads/boost_1_70_0/tools/build/src/kernel/bootstrap.jam:139: in boost-build
/mnt/d/Downloads/boost_1_70_0/boost-build.jam:17: in module scope

我对此很失落。上周,我一直在寻找解决方案,现在我正在放弃。有人知道发生了什么吗?

我已经安装了此编译器和交叉编译器:

g++/stable,now 4:6.3.0-4 amd64 [installed,automatic]
g++-6/stable,stable,now 6.3.0-18+deb9u1 amd64 [installed,automatic]
g++-6-arm-linux-gnueabi/stable,now 6.3.0-18cross1 amd64 [installed,automatic]
g++-arm-linux-gnueabi/stable,now 4:6.3.0-4 amd64 [installed]
gcc/stable,now 4:6.3.0-4 amd64 [installed,automatic]
gcc-6/stable,stable,now 6.3.0-18+deb9u1 amd64 [installed,automatic]
gcc-6-arm-linux-gnueabi/stable,now 6.3.0-18cross1 amd64 [installed,automatic]
gcc-6-arm-linux-gnueabi-base/stable,now 6.3.0-18cross1 amd64 [installed,automatic]
gcc-6-base/stable,stable,now 6.3.0-18+deb9u1 amd64 [installed]
gcc-6-cross-base/stable,now 6.3.0-18cross1 all [installed,automatic]
gcc-arm-linux-gnueabi/stable,now 4:6.3.0-4 amd64 [installed]

1 个答案:

答案 0 :(得分:0)

这可以忽略。这是其中一个bjam文件中的错误。您可以关注this link以获取更多信息