我已经编译过clang使用它作为ARM的交叉编译器(通过配置它与./configure --target=armv7l-unknown-linux-gnueabihf
),但是当我尝试编译任何C代码时,它会尝试使用/usr/bin/as
。我已经为ARM编译binutils,并且它们位于单独的目录中。我如何直接使用clang(或llvm)来使用我指定的汇编程序?如何使用自定义汇编程序进行叮当声?
回答
我总是在使用./configure从源代码目录进行配置时遇到了问题,最后放弃了。现在我总是从一个单独的目录配置,即../configure,虽然我被告知建议使用绝对路径进行配置。
您的ARM binutils应该安装在您用于clang的相同前缀中,并确保它们在配置& build clang时位于路径中 - 即PATH =/some/prefix/bin:$ PATH;/configure --target = armv7l-unknown-linux-gnueabihf。如果您为了打包目的而将它们保存在不同的目录中,请安装DESTDIR =应该帮助。
我一般不建铛,但我用devkitARM的buildscripts可能会有所帮助 - http://sourceforge.net/p/devkitpro/buildscripts/ci/c372699fc7b4de90eb044314ce5bed04db640291/tree/
对不起,我从来没有在与之前的源目录相同的目录中配置clang。为了简洁,我在问题中包含的命令省略了“--prefix”标志。正如你从CarlNorum的评论中看到的那样,我确实注意到他包含了“--prefix”标志,但它仍然不适用于我。奇怪的是编译过程确实似乎在'bin'(带有正确的目标三元组)的文件夹中创建了集成的汇编器二进制文件,但它从不使用它。我一定会看看你在答案中包含的构建脚本。 – JosephH
尝试传递--host选项来配置,这将导致所有的CC AR等公用事业与armv7l-前缀未知的Linux gnueabihf- 如:
./configure --host=armv7l-unknown-linux-gnueabihf --build=i686-unknown-linux-gnu
由于使用的是具有希望配置自动工具来看看: automake Cross compiling
我认为你误解了这个问题。 @JosephH在问如何使用clang交叉编译程序,但是你的答案与“如何交叉编译clang本身”有关。 –
- 1. 使用tasm汇编程序对数组进行排序
- 2. C#应用程序 - 自定义汇编版本格式
- 3. 叮当声问题 - 分析
- 4. 叮当声类类:如何使用__attribute __((objc_method_family(none)))`?
- 5. Windows如何执行汇编程序?
- 6. 使用Qt自定义对话框进行GUI编程
- 7. 使用命令行叮当声,OS X 10.9.1,Xcode 5.0.2
- 8. 使用masm32进行汇编编码
- 9. 如何使用postgresql自定义计数进行排序?
- 10. 如何使用GSON进行自定义序列化?
- 11. 如何使用自定义对象对NSMutableArray进行排序?
- 12. 为叮当声工具启用RTTI?
- 13. “汇编”与“汇编程序”
- 14. 使用Web API和RavenDB进行继承的自定义模型联编程序
- 15. 使用iPhone配置实用程序进行自定义应用程序
- 16. 程序的汇编和执行 - 两遍汇编程序
- 17. 我如何编译为使用gcc进行汇编
- 18. 使用单声道引用汇编程序(tweetsharp)
- 19. 运行汇编程序
- 20. 如何使用自定义扩展程序对网址进行修改重写
- 21. 使用avr-gcc编译汇编程序
- 22. 如何调用汇编程序
- 23. 如何反汇编VC++应用程序?
- 24. 如何使用自定义JDBC驱动程序运行Sqoop?
- 25. 如何使用自定义错误处理程序运行shell?
- 26. 无法使用叮进行交叉编译为SPARC
- 27. 如何防止汇编程序编译16位应用程序?
- 28. 如何让Xcode使用自定义DTD进行自动完成?
- 29. 符号定义存在时,“架构的未定义符号”叮当声错误(使用静态库)
- 30. 汇编程序
我知道我这样做是最近ly - 让我看看我是否有配置文件。对于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'。 – JosephH