我编译了clang以将其用作ARM的交叉编译器(通过使用./configure --target=armv7l-unknown-linux-gnueabihf
进行配置),但是当我尝试编译任何C代码时,它会尝试使用/usr/bin/as
。我已经为ARM编译了binutils,它们位于一个单独的目录中。如何指示clang(或llvm)使用我指定的汇编程序?
答案 0 :(得分:2)
尝试传递--host选项以进行配置,这将导致所有cc ar等实用程序以armv7l-unknown-linux-gnueabihf-为前缀 例如:
./configure --host=armv7l-unknown-linux-gnueabihf --build=i686-unknown-linux-gnu
由于您正在使用配置,希望autotools看看: automake Cross compiling
答案 1 :(得分:0)
我总是在使用./configure从源目录进行配置时遇到了问题,并最终放弃了。这些天我总是从一个单独的目录配置,即..//configure虽然我告诉它建议使用绝对路径进行配置。
您的ARM binutils应安装在您用于clang的相同前缀中,并确保它们在您配置&时在路径中。 build clang - 即PATH = / some / prefix / bin:$ PATH; / configure --target = armv7l-unknown-linux-gnueabihf。如果您将它们保存在单独的目录中以进行打包,那么make install DESTDIR =应该有帮助。
我通常不会构建clang,但我用于devkitARM的构建脚本可能会有所帮助 - http://sourceforge.net/p/devkitpro/buildscripts/ci/c372699fc7b4de90eb044314ce5bed04db640291/tree/