2012-12-10 126 views

回答

69

工具鏈有一個鬆散的名稱約定,如arch[-vendor][-os]-abi

  • arch是架構:手臂MIPS,,i686的 ...
  • vendor是工具鏈的供應商:蘋果
  • os是操作系統:linux,(裸機)
  • abi是應用程序二進制接口約定:EABIgnueabignueabihf

對於你的問題,arm-none-linux-gnueabiarm-linux-gnueabi是同樣的事情。 arm-linux-gcc實際上是gcc的二進制文件,它生成ARM體系結構的對象,並在工具鏈中提供缺省配置(abi)的情況下在Linux上運行。

一些不錯的閱讀:Toolchains

+4

這個*可能*爲真,但確實沒有足夠的信息爲了確定。你需要知道工具鏈的出處。然而,非「gnueabi」工具鏈可能非常罕見。 – ams

+0

你在說arm-linux-gcc嗎?或者你能澄清? – auselen

+0

值得指出的是,工具鏈配置了默認標題和庫搜索路徑。在交叉編譯時,這些應該指向目標映像而不是開發機器自己的頭文件和庫。 因此,你可以很容易地得到一個編譯器,它將其規範報告爲'arm-none-linux-gnueabi',它實際編譯時結果稍有不同。 您可以使用 'gcc -print-sysroot' – marko