2017-03-06 76 views
4

當我編譯rustc,則在配置腳本選項來指定其他目標的核心庫(libcorelibstd等),因此,例如:如何在交叉編譯rustc時指定要使用的編譯器?

./configure --target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu 

編譯和安裝rustlibs兩個這些架構。

我的問題是,這個命令將使用我的默認gcc來編譯一切,(因爲我的系統是multilib,它也會成功編譯到i686),但我想要的是使用我的工具鏈編譯器,例如:

我在我的amd64系統中有2個工具鏈:i686-unknown-linux-gnuarm-unknown-linux-gnueabi

當我運行配置這些參數:

./configure --target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu,arm-unknown-linux-gnueabi 

當編譯rustlibs,我希望腳本使用x86_64的未知-Linux的gnu- GCCx86_64,和i686的,未知的Linux -gnu- gcc for i686 and arm-unknown-linux-gnueabi- gcc for arm

這樣rustlib將使用工具鏈中的glibc和其他庫進行編譯,而不是從我的系統默認的。那可能嗎?

回答

0

使用後綴環境變量指定它:請參閱here瞭解它們在CI中執行的操作。

+0

這對我不起作用,工作原理是用'[target.i686-unknown-linux-gnu] cc =「i686-unknown-linux-gnu-gcc」 創建'config.toml'文件cxx =「i686-unknown-linux-gnu-g ++」' – Sassa