Rust在windows上的配置的注意事項(xiàng)

作者 @飛洲人飛舟魂轉(zhuǎn)載請(qǐng)注明出處.

Rust 在windows上的配置比linux上要復(fù)雜些,原因是因?yàn)閣indows可以使用兩套ABI,其中一個(gè)是windows自己搞的MSVC工具鏈,另外一套則是GNU工具鏈.以前我一直對(duì)windows上選擇和配置迷惑不解,正好今天研究了一下,現(xiàn)在記錄一下.

安裝時(shí)(詳細(xì)講解MSVC的配置)

要是執(zhí)行官方提供的rustup-init.exe程序,應(yīng)該會(huì)出現(xiàn)如下的提示.


Rust requires the Microsoft C++ build tools for Visual Studio 2013 or later,
but they don't seem to be installed.

The easiest way to acquire the build tools is by installing Microsoft Visual
C++ Build Tools 2019 which provides just the Visual C++ build tools:

https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019

Please ensure the Windows 10 SDK and the English language pack components are
included when installing the Visual C++ Build Tools.

Alternately, you can install Visual Studio 2019, Visual Studio 2017, Visual
Studio 2015, or Visual Studio 2013 and during install select the "C++ tools":

https://visualstudio.microsoft.com/downloads/

Install the C++ build tools before proceeding.

If you will be targeting the GNU ABI or otherwise know what you are doing then
it is fine to continue installation without the build tools, but otherwise,
install the C++ build tools before proceeding.

Continue? (Y/n)

這里就是要求你選擇用微軟的MSVC編譯鏈,還是GNU編譯鏈.
官方推薦使用微軟的MSVC工具鏈,畢竟是在微軟的操作系統(tǒng)上,不管怎樣都更加兼容些.
要是執(zhí)意要安裝GNU編譯鏈的話那就繼續(xù),如果你想要Rust官方推薦的配置那就請(qǐng)安裝微軟的C++ build tools然后再重新打開Rust安裝程序.
這個(gè)C++ build tools如何安裝呢?有兩種方法,第一種最簡(jiǎn)單,那就是安裝Visual studio 2013或者以上版本,軟件安裝完畢后C++ tools就已經(jīng)安裝在你的電腦上了;要是你嫌Visual stdio太過于臃腫,你也可以選擇單獨(dú)到這個(gè)頁面安裝這個(gè)軟件包,如下:

在這里

下載這個(gè)

安裝的時(shí)候一定注意這些都勾選上.
安裝時(shí)

安裝完畢后安裝器應(yīng)當(dāng)有如下界面 (我還安裝了vs 2017,你完全可以不用裝):


裝完了之后,你就可以再啟動(dòng)rustup-init.exe來安裝Rust.

關(guān)于我踩過的一些坑

  • Rustup-init安裝程序是需要在線安裝的,由于國內(nèi)網(wǎng)絡(luò)原因,這個(gè)過程非常緩慢,我們需要設(shè)置鏡像地址來加速,像下面這樣設(shè)置就可以,具體方法可以百度搜索"Rustup 鏡像"關(guān)鍵詞.


  • 如果你安裝GNU工具鏈的話,最好獨(dú)立安裝一個(gè)MingGW.雖然說Rust的安裝程序已經(jīng)內(nèi)置了GNU的工具鏈,
    但是就我的經(jīng)歷而言體驗(yàn)并不好,我就在編譯一個(gè)項(xiàng)目時(shí)出現(xiàn)了鏈接錯(cuò)誤.另外你最好也別用TDM-GCC這個(gè)GNU工具鏈,因?yàn)檫@個(gè)工具鏈時(shí)GNU的一個(gè)分支,而它和Rust的兼容性不好,經(jīng)常會(huì)莫名編譯失敗.

  • 如果你決定使用MSVC編譯工具鏈,而且你同時(shí)又安裝了GNU工具鏈,那么就把CC,CXX這兩個(gè)環(huán)境變量在編譯Rust前去掉,否則會(huì)出現(xiàn)鏈接錯(cuò)誤.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容