[C++] MinGW-w64 安裝與設定

這篇是我搬運自己以前在 GitHub Pages 上 2020 年 7 月的文章,並且有再增減一些內容。

GCC 是 C/C++ 的相當有名的編譯器,本篇將介紹如何設置環境,讓我們在 Windows 10 下也能夠使用,以及在 Visual Studio Code 中如何設定。

MinGW-w64

這次是我第一次聽到 MinGW-w64 這個名字,全名是 Minimalist GNU on Windows。我的理解是 MinGW-w64 是要在 Windows 環境下使用 gcc 的方式編譯程式(簡短來說 Windows 版的 GCC)。而後面 w64 的意思,是指比起原先 MinGW 只能編譯成 32 位元的執行檔,MinGW-w64 可編譯 32 位元或 64 位元的執行檔。現在大多應該都被 MinGW-w64 取代了。

這樣聽起來那些 IDE 應該是有把 MinGW-w64 這東西封裝起來了?總而言之,MinGW-w64 是一套免費、開源的軟體,是很穩定且可靠的編譯器。

下載

我是到 SourceForge.net 中 MinGW-w64 – for 32 and 64 bit Windows 這個頁面,或是到 MinGW-w64 網站 下載。

以 SourceForge 頁面來說,可以看到裡面有相當多的檔案。拉到這些檔案底下有個「MinGW-W64 Online Installer」的項目,我是用這個下載的。

安裝

下載後開始安裝程序。以往遇到這種安裝程序都會開啟無腦模式全部都照預設XD 不過這次要改一些設定。

  • Version:是 gcc 的版本,這裡我選擇預設選項,應該會是最新或是最穩定的。
  • Architecture:是電腦系統的位元,我的是 64bit 所以選擇 x86_64
  • Threads:這個我比較沒概念,Windows 似乎就是選 win32,其他系統就選 posix
  • Exception:是選擇異常處理模型,64 位元的電腦有兩個選項可以選,這裡我選擇 seh。性能較好,但不支持 32 位元。
  • Build revision:這裡沒得選擇,就維持預設。

更改完後下一步會進入安裝目錄設置,我是維持預設設定。再來就直接安裝,安裝完應該可以看到一個新的資料夾 mingw-w64

勇敢地點進去看看內容,在 bin 資料夾中就可以發現有很多不同的程式,這些都是編譯工具,包含我朝思暮想的 gcc 和 g++ 等等。這個資料夾等一下會用到,把這裡的目錄複製起來。每個人的都不一樣,一定要自行查看。
例如說我的目錄比較複雜,位在:C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin

設定環境變數

安裝完並不是就結束了,還有環境變數要設定。

找到「本機」,對著空白處按右鍵點選「內容」(總而言之就是能看系統設置的地方),或是控制台→系統及安全性→系統,打開後點選「進階系統設定」。

在「進階」頁籤中,點選「環境變數」,找到系統變數中的 PATH 變數,點選之後按編輯。

開啟編輯環境變數的視窗,這裡要按新增,並把剛剛複製的 bin 資料夾位置貼上去。

照網路上的教學,到這裡測試應該是 ok。但不知為何我怎麼測就是不行,於是參考了另外一位大神的文章,多設置了一項東西,那就是 mingw-w64 的實際安裝位置。

設定完後記得按確定。剛剛提到測試,打開 Window 命令提示字元(搜尋列輸入 cmd),在視窗中輸入下面其中一個指令,如果出現一大串東西表示設置成功,如果出現「window下g++ 不是内部或外部命令」之類的,就要重新檢查以上步驟。

g++ -v
gcc -v

除了以上之外我還新增了 include 和 library 的變數,但大部分教學似乎沒怎麼說到,所以我不太確定是否必要。

到目前為止環境的部份應該設置完成了。

VS code 設定

因為平常習慣使用 Visual Studio Code 編輯程式(以下簡稱 VS code),因此我們要針對它來進行設定。

首先進入到 VS code 後,打開擴充套件列表(Extension),找到 C/C++ 後安裝。

安裝好開啟工作資料夾並寫好的 C++ 程式,例如隨便寫個 Hello World:

#include <iostream>
using namespace std;
int main() {
  cout << "Hello World!";
  return 0;
}

接著鍵盤按 Ctrl + Shift + P,會出現下拉選單,選擇「C/C++: Edit Configurations (UI)」,進入設置畫面。

找到 Compiler path 欄位,輸入 g++.exe 的路徑位置。例如我的是:C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin\g++.exe

每個人的都不一樣,再次叮嚀一定要自行查看。

找到 IntelliSense mode 欄位,選擇 windows-gcc-x64

設定好後,接下來就可以在 terminal 中輸入以下指令編譯程式:
g++ [檔案名稱] -o [編譯後檔案名稱]

例如:g++ test.cpp -o test

路徑內就會出現編譯完成的 test.exe 檔。

另外因為我很懶得每次都要輸入,因此有再另外安裝 “C/C++ Compile Run” 這個擴充套件,這個部份可以再去查資料看哪個擴充適合自己。

參考

讓我知道你在想什麼!

Picture of ALEX

ALEX

藍白拖愛好者,一事無成話偏多

Recent Posts

C++

NLP