我已經編譯過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