我已经编译了clang,将其用作ARM的交叉编译器(通过配置它与./configure --target=armv7l-unknown-linux-gnueabihf
),但是当我试图编译任何C代码时,它试图使用/usr/bin/as
。我已经为ARM编译了binutils,它们在一个单独的目录中。如何指示clang(或llvm)使用我指定的汇编程序?
尝试传递——host选项来配置,这将导致所有cc等实用程序以armv7l-unknown-linux-gnueabihf-作为前缀如:
./configure --host=armv7l-unknown-linux-gnueabihf --build=i686-unknown-linux-gnu
既然你正在使用configure with hopefully autotools,请看看:自动编译
我总是在使用。/configure从源目录配置时遇到麻烦,最后放弃了。这些天我总是从一个单独的目录配置,即…//配置虽然我被告知建议使用绝对路径配置
你的ARM binutils应该安装在与clang相同的前缀中,并确保它们在你配置&build clang -即PATH=/some/prefix/bin:$PATH;= armv7l-unknown-linux-gnueabihf/配置——目标。如果你把它们放在单独的目录中,那么make install DESTDIR=应该会有帮助。
我一般不构建clang,但我为devkitARM使用的构建脚本可能会有所帮助- http://sourceforge.net/p/devkitpro/buildscripts/ci/c372699fc7b4de90eb044314ce5bed04db640291/tree/