在win10上使用mingw64編譯器配置Rust開(kāi)發(fā)環(huán)境和idea 配置Rust 插件
1、安裝前的準(zhǔn)備

2、安裝 mingw64
2.1、編譯器 mingw 與 visual studio 之間的選擇
Rust 底層是依賴(lài)C/C++的 編譯器,所以需要先安裝C/C++編譯環(huán)境。
Windows上C/C++ 的 編譯器 有兩種:
微軟 的 Visual Studio (msvc)
GNU 的 Mingw (gnu): 官網(wǎng)地址:https://www.mingw-w64.org/
Rust 默認(rèn)使用的是 Visual Studio, 使用默認(rèn)選項(xiàng)就能安裝上,缺點(diǎn)是 Visual Studio 體積比較大,下載安裝都要好幾個(gè)G,考慮到體積大小、時(shí)間和網(wǎng)速等原因 , 我選擇使用 mingw(mingw64) 作為 C/C++的編譯器 。
另外,上面兩個(gè)編譯器 分別對(duì)應(yīng)的是 x86_64-pc-windows-msvc 和 x86_64-pc-windows-gnu ,后面修改默認(rèn)配置時(shí)會(huì)涉及到 。
2.2、下載
mingw 分為32位和64位,本次選擇的是mingw64 。
mingw 是一個(gè)開(kāi)源項(xiàng)目,有許多組織參與。
mingw64 的環(huán)境下的安裝操作,看看下載頁(yè)面 https://www.mingw-w64.org/downloads/。

可以看到有很多種 mingw-64的構(gòu)建方式,支持windows的也不少,本人目前用的是上圖中圓圈標(biāo)記的那個(gè)。
Mingw-builds 的構(gòu)建版本
地址為:https://github.com/niXman/mingw-builds-binaries/releases

選擇 x86_64-12.2.0-release-posix-seh-rt_v10-rev0.7z 下載。
這個(gè)壓縮包才67MB多點(diǎn),比安裝msvc節(jié)省下好幾個(gè)小時(shí) 和 存儲(chǔ)空間 。
mingw 各個(gè)版本的區(qū)別
操作系統(tǒng)版本:
x86_64:64位版本i686: 32位版本
線程模型:
posix:相比 win32,posix 對(duì) C++11的標(biāo)準(zhǔn)庫(kù)支持的更好。win32:
如果你想在代碼開(kāi)發(fā)時(shí)進(jìn)行斷點(diǎn)調(diào)試,推薦用 posix。
異常處理方式:
seh:64位系統(tǒng)可用,使用windows自身的異常處理機(jī)制。dwarf:只支持32位,需要在可執(zhí)行程序中添加額外的調(diào)試信息,程序體積較大。sjlj: 比起其他異常處理會(huì)慢得多。
2.3、安裝
下載得到的 x86_64-12.2.0-release-posix-seh-rt_v10-rev0.7z 是一個(gè) 免安裝 版本,可以直接解壓在你想要的目錄下(目錄名稱(chēng)不要有中文)。
2.4、配置
修改環(huán)境變量 path , 添加解壓目錄下的 bin 。

2.5、測(cè)試
打開(kāi)cmd窗口,輸入 gcc --version,如果顯示如下內(nèi)容,則配置成功:

3、安裝 Rust
3.1 、從Rust的官網(wǎng)下載 rustup-init

3.2、配置國(guó)內(nèi)鏡像地址
rustup-init 為在線安裝工具,默認(rèn)的安裝源為國(guó)外的站點(diǎn),網(wǎng)速較慢,可設(shè)置環(huán)境變量,使其從國(guó)內(nèi)鏡像中下載。
在系統(tǒng)環(huán)境變量中添加如下變量(二選一即可):
### 下面的配置 二選一即可 # 中國(guó)科學(xué)技術(shù)大學(xué) RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup # 清華大學(xué) RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup

3.3、運(yùn)行 rustup-init
打開(kāi)cmd窗口,運(yùn)行 rustup-init.exe ,顯示如下內(nèi)容:

上圖是 要求必須 安裝 C/C++ 的編譯環(huán)境。默認(rèn)是 visual studio 安裝器,而我們使用是 mingw64,因此需要手動(dòng)修改。
此處,選擇2或3均可。
輸入
2

輸入
y

輸入 2 ,進(jìn)行自定義安裝。
2

輸入 x86_64-pc-windows-gnu ,表示我要安裝 64位的 gnu版本 。
x86_64-pc-windows-gnu
接下來(lái)都是回車(chē),使用默認(rèn)配置。

上面配置完畢后,到這一步是回車(chē),開(kāi)始安裝。
安裝過(guò)程如下圖所示 。安裝過(guò)程中要從網(wǎng)絡(luò)下載很多東西,請(qǐng)耐心等待。

3.4、驗(yàn)證
安裝完成后,重新打開(kāi) dos 命令行窗口,輸入rustc --version,輸出
C:\Users\admin>rustc --version
rustc 1.68.1 (8460ca823 2023-03-20)

表示安裝成功。
3.5、rustup 常用命令
# 查看rustc版本 rustc --version # 顯示當(dāng)前安裝的工具鏈信息 rustup show # 檢查安裝更新 rustup update # 卸載 rustup self uninstall # 設(shè)置當(dāng)前默認(rèn)工具鏈 rustup default stable-x86_64-pc-windows-gnu # 查看幫助 rustup -h # -------------------------->配置工具鏈 # 查看工具鏈 rustup toolchain list # 安裝工具鏈 rustup toolchain install stable-x86_64-pc-windows-gnu # 卸載工具鏈 rustup toolchain uninstall stable-x86_64-pc-windows-gnu # 設(shè)置自定義工具鏈 rustup toolchain link <toolchain-name> "<toolchain-path>" # -------------------------->配置一個(gè)目錄以及其子目錄的默認(rèn)工具鏈 # 查看已設(shè)置的默認(rèn)工具鏈 rustup override list # 設(shè)置該目錄以及其子目錄的默認(rèn)工具鏈 rustup override set <toolchain> --path <path> # 取消目錄以及其子目錄的默認(rèn)工具鏈 rustup override unset --path <path> # -------------------------->配置工具鏈的可用目標(biāo) # 查看目標(biāo)列表 rustup target list # 安裝目標(biāo) rustup target add <target> # 卸載目標(biāo) rustup target remove <target> # 為特定工具鏈安裝目標(biāo) rustup target add --toolchain <toolchain> <target> # -------------------------->配置 rustup 安裝的組件 # 查看可用組件 rustup component list # 安裝組件 rustup component add <component> # 卸載組件 rustup component remove <component>
4、cargo 配置
cargo 是rust的包管理工具,類(lèi)似于python的pip,默認(rèn)的cargo會(huì)從國(guó)外網(wǎng)站下載包,也可以修改為從科大下載。
4.1、配置 cargo 國(guó)內(nèi)鏡像
在用戶(hù)主目錄的 .cargo 目錄下新建一個(gè)文件,命名為 config(沒(méi)有擴(kuò)展名),并輸入以下內(nèi)容:
[source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" replace-with = 'ustc' ## 二選擇一 ## replace-with = 'XXX' 選擇配置 # 中國(guó)科學(xué)技術(shù)大學(xué) [source.ustc] registry = "git://mirrors.ustc.edu.cn/crates.io-index" # 清華大學(xué) [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
4.2、cargo 基礎(chǔ)命令
查看cargo版本 cargo --version # 新建項(xiàng)目 cargo new <project_name> # 構(gòu)建項(xiàng)目 cargo build # 運(yùn)行項(xiàng)目 cargo run # 檢查項(xiàng)目 cargo check # 查看幫助 cargo -h
5、hello world
經(jīng)過(guò)了一系列的安裝配置,將rust運(yùn)行環(huán)境配置 完畢,下面寫(xiě)一個(gè) hello world 。
我們通過(guò) cargo 來(lái)創(chuàng)建項(xiàng)目,在 cmd 窗口中輸入 cargo new hello --bin ,
cargo new hello --bin

cargo 已經(jīng)幫我們創(chuàng)建好了 hello 項(xiàng)目,自動(dòng)生成了一系列文件:
hello
└──
├── .gitignore
├── Cargo.toml
└── src
└── main.rs其中 src 下的 main.rs 為 rust代碼文件,其內(nèi)容為:
fn main() {
println!("Hello, world!");
}進(jìn)入 hello 項(xiàng)目,編譯和運(yùn)行這個(gè)項(xiàng)目:
cd hello
cargo run
Compiling hello v0.1.0 (C:\Users\admin\Desktop\tt\hello)
Finished dev [unoptimized + debuginfo] target(s) in 15.61s
Running `target\debug\hello.exe`
Hello, world!上面完整的操作記錄:

6、idea 配置 Rust 插件
6.1、下載 Rust 插件

6.2、下載源碼
在 cmd 窗口中 輸入如下命令,下載源碼 (idea 會(huì)自動(dòng)找到路徑)
rustup component add rust-src

6.3、查看配置

6.4、創(chuàng)建項(xiàng)目
1)選擇 Rust,其它默認(rèn),點(diǎn)擊下一步。

2)選擇路徑,輸入項(xiàng)目名稱(chēng): rust_demo1 。
3)創(chuàng)建項(xiàng)目成功,如下圖所示。

7、參考文章
https://blog.csdn.net/zhmh326/article/details/103805485
https://zhuanlan.zhihu.com/p/492412918?utm_id=0
https://www.cnblogs.com/lixueren-wy/articles/16934078.html
https://blog.csdn.net/saibeifeng187/article/details/107567702
到此這篇關(guān)于在win10上使用mingw64編譯器配置Rust開(kāi)發(fā)環(huán)境和idea 配置Rust 插件的文章就介紹到這了,更多相關(guān)mingw64編譯器配置Rust開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- rust開(kāi)發(fā)環(huán)境配置詳細(xì)教程
- Rust語(yǔ)言的新手了解和學(xué)習(xí)入門(mén)啟蒙教程
- Rust中泛型的學(xué)習(xí)筆記
- Rust?枚舉的使用學(xué)習(xí)筆記
- Rust中箱、包和模塊的學(xué)習(xí)筆記
- rust多樣化錯(cuò)誤處理(從零學(xué)習(xí))
- 向Rust學(xué)習(xí)Go考慮簡(jiǎn)單字符串插值特性示例解析
- Rust個(gè)人學(xué)習(xí)小結(jié)之Rust的循環(huán)
- 為什么要選Rust?學(xué)習(xí)Rust從零開(kāi)始配置和實(shí)現(xiàn)第一個(gè)簡(jiǎn)單項(xiàng)目
相關(guān)文章
Rust中實(shí)例化動(dòng)態(tài)對(duì)象的示例詳解
這篇文章主要為大家詳細(xì)介紹了Rust中實(shí)例化動(dòng)態(tài)對(duì)象的多種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
使用Rust制作康威生命游戲的實(shí)現(xiàn)代碼
這篇文章主要介紹了使用Rust制作康威生命游戲,初始rust項(xiàng)目,使用wasm的項(xiàng)目模板,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
Rust中的Drop特性之解讀自動(dòng)化資源清理的魔法
Rust通過(guò)Drop特性實(shí)現(xiàn)了自動(dòng)清理機(jī)制,確保資源在對(duì)象超出作用域時(shí)自動(dòng)釋放,避免了手動(dòng)管理資源時(shí)可能出現(xiàn)的內(nèi)存泄漏或雙重釋放問(wèn)題,智能指針如Box、Rc和RefCell都依賴(lài)于Drop來(lái)管理資源,提供了靈活且安全的資源管理方案2025-02-02
Rust如何進(jìn)行模塊化開(kāi)發(fā)技巧分享
Rust模塊化,模塊化有助于代碼的管理和層次邏輯的清晰,本文主要介紹了Rust如何進(jìn)行模塊化開(kāi)發(fā),結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2023-01-01
一文學(xué)會(huì)Rust語(yǔ)言如何操作JSON
JSON在Web開(kāi)發(fā)中被廣泛應(yīng)用于數(shù)據(jù)交換,本文主要介紹了Rust語(yǔ)言操作JSON,包括序列化、反序列化、JSON創(chuàng)建等多個(gè)方面,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Rust中的Iterator和IntoIterator介紹及應(yīng)用小結(jié)
Iterator即迭代器,它可以用于對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行迭代,被迭代的數(shù)據(jù)結(jié)構(gòu)是可迭代的(iterable),所謂的可迭代就是這個(gè)數(shù)據(jù)結(jié)構(gòu)有返回迭代器的方法,這篇文章主要介紹了Rust中的Iterator和IntoIterator介紹及應(yīng)用,需要的朋友可以參考下2023-07-07

