尽管在user-config.jam中有定义,但仍无法识别工具集的交叉编译

时间:2013-01-17 14:14:13

标签: linux boost arm cross-compiling

我尝试从运行Linux的PC上交叉编译boost 1.52.0 for freescale ARM处理器板。

根据cross compiling boost上的(相当简短的)文档,我设置了一个user-config.jam文件,内容如下:

using gcc : arm : /mnt/lv1/src/ROM1210/cross_compiler/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++ ;
然后我跑了

bootstrap.sh --prefix=`realpath ../tools`
./b2 toolset=gcc-arm

结果是:

/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/tools/gcc.jam:107: in gcc.init from module gcc
error: toolset gcc initialization:
error: version 'arm' requested but 'g++-arm' not found and version '4.3.2' of default 'g++' does not match
error: initialized from
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build/toolset.jam:39: in toolset.using from module toolset
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build-system.jam:481: in process-explicit-toolset-requests from module build-system
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build-system.jam:562: in load from module build-system
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/kernel/modules.jam:283: in import from module modules
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/kernel/bootstrap.jam:142: in boost-build from module
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/boost-build.jam:17: in module scope from module

使用--debug-configuration运行b2提供的额外信息很少,除了确认正在读取正确的user-config.jam文件。

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:2)

原来这不是我的user-config.jam文件被加载,而是一个打包了boost分配和文件名非常相似的文件。当出现问题时,总是付钱检查这些东西!