【问题标题】:waf - cross compile, compiler detectionwaf - 交叉编译,编译器检测
【发布时间】:2013-09-09 21:29:40
【问题描述】:

我在${ARMHOST} 中获得了一个交叉编译的rootfs,我之前通过buildroot 创建了一个armv5te/ARM9ARM926t 核心也称为ARM926ej-s)目标试图使用 CodeLite 工具链

waf distclean
ARMHOST="${HOME}/buildroot-2013.08/output/host";
export PKG_CONFIG_PATH="${ARMHOST}/usr/lib/pkgconffg/";
export CC="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc";
export AR="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/ar";
export CROSS_COMPILE="/usr/bin/arm-none-eabi-";
export CFLAGS="-march=armv5te -I${ARMHOST}/usr/include/ -I${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/include/";
export LDFLAGS="-L${ARMHOST}/usr/lib/";
waf configure debug

导致

'distclean' finished successfully (0.000s)
Setting top to                           : ~/Desktop/myapp 
Setting out to                           : ~/Desktop/myapp/build 
Checking for 'gcc' (c compiler)          : not found 
Checking for 'icc' (c compiler)          : not found 
could not configure a c compiler!
(complete log in ~/Desktop/myapp/build/config.log)

wscript 在每个阶段使用context.load('compiler_c gnu_dirs glib2') 来加载特征。


更新 #1 - 如果我将 compiler_c 替换为 gcc,那么我最终会得到: CC="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gneabi/bin/gcc" AR="${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/ ar" ./waf 配置 将顶部设置为:~/myapp 出发:~/myapp/build 检查程序 gcc,cc : ${ARMHOST}/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc 无法确定编译器类型


那么我如何告诉 waf 这个编译器是基于 gcc 的呢? (代码源精简版 2013 工具链)

我必须创建一个新的编译器配置文件还是有更简单的方法?

【问题讨论】:

    标签: compilation cross-compiling waf


    【解决方案1】:

    不要使用 .../host/opt/ext-toolchain/arm-none-linux-gnueabi/bin/gcc 但.../host/opt/ext-toolchain/bin/arm-none-linux-gnueabi-gcc - gcc 检测显然是由某些巫术完成的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-10
      • 2011-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      相关资源
      最近更新 更多