试图将Ubuntu 10.10上的Boost 1.46.1交叉编译为Arm Linux

时间:2011-08-26 02:04:53

标签: boost compilation

我有一个交叉编译工具链,我在Ubuntu 10.10上成功编译了一个相当大的应用程序。

现在我正在尝试引入boost 1.46.1。我已经完成了boost cross编译方向所说的内容。即运行bootstrap.sh,修改user-config.jam以添加行:

using gcc : arm : /path/to/compiler/arm-none-linux-gnueabi-g++ ;

当我发出:

 ./bjam --toolchain=gcc-arm

bjam编译提升,但是当我这样做时:

 file ..../something.o

输出表示Intel 80386 ELF文件,而不是arm文件。我已经使用其他应用程序arm对象进行了检查,文件命令报告arm 80386。

我已经尝试设置我的PATH将交叉编译二进制文件放在首位并将LD_LIBRARY_PATH设置为arm编译器库,但我所做的一切似乎都无法阻止bjam编译为英特尔

2 个答案:

答案 0 :(得分:5)

功能不以--开头,toolchain不是有效功能;这样做:

bjam toolset=gcc-arm

答案 1 :(得分:1)

调试bjam问题的一种非常方便的方法是包含-n参数。它将打印所有命令行,而不是执行它们。然后你会看到实际调用了哪个g ++。

如果您已构建了所有内容,则可能还需要包含-a,这意味着“从头开始重建所有内容”