我有一个适用于arm的交叉编译工具链,并在Ubuntu 10.10上成功地用它编译了一个相当大的应用程序。
现在我正在尝试引入 boost 1.46.1。我已经按照boost交叉编译方向所说的做了。即运行bootstrap.sh,修改user-config.jam添加以下行:
using gcc : arm : /path/to/compiler/arm-none-linux-gnueabi-g++ ;
当我发布时:
./bjam --toolchain=gcc-arm
bjam 编译 boost,但是当我执行以下操作时:
file ..../something.o
输出表示 Intel 80386 ELF 文件,而不是 arm 文件。我已经对其他应用程序arm对象进行了健全性检查,并且文件命令报告arm而不是80386。
我尝试将PATH
设置为首先放置交叉编译二进制文件,并将LD_LIBRARY_PATH
设置为arm编译器库,但我所做的一切似乎都无法做到这一点阻止 bjam 为 Intel 进行编译。
请您参考如下方法:
功能不以 --
开头,并且 toolchain
不是有效功能;做到这一点:
bjam 工具集=gcc-arm