【发布时间】:2012-12-11 03:37:54
【问题描述】:
我已编译 clang 以将其用作 ARM 的交叉编译器(通过使用 ./configure --target=armv7l-unknown-linux-gnueabihf 对其进行配置),但是当我尝试编译任何 C 代码时,它会尝试使用 /usr/bin/as。我已经为 ARM 编译了 binutils,它们位于单独的目录中。如何指示 clang(或 llvm)使用我指定的汇编程序?
【问题讨论】:
-
我知道我最近这样做了 - 让我看看我是否有配置文件。对于 ARM,它不应该使用机器代码生成器而不是尝试运行汇编程序吗?你试过传递
--integrated-as吗?你能展示一个使用-v的示例命令行和输出吗? -
我的配置行,虽然看起来没什么帮助:
../llvm/configure --target=mipsel-sde-elf --prefix=/some/prefix --enable-optimized。这确实工作正常并运行/some/prefix/mipsel-sde-elf-as。就是说,我平时用的是集成的汇编器,所以有一段时间没测试了。 -
@CarlNorum 我也确实有集成汇编器(
armv7l-unknown-linux-gnueabihf-llvm-as)与 clang 位于同一文件夹中,但它仍在使用/usr/bin/as。我不确定armv7l-unknown-linux-gnueabihf-llvm-as是否在内部调用/usr/bin/as。 -
在您的调用中使用
-v标志应该向您展示使用完整命令行运行的每个工具。 -
@CarlNorum
-v标志只显示/usr/bin/as的调用。
标签: c clang cross-compiling