使用Sublime Text 來作為C/C++的IDE in Windows(2) ~G++ Compiler

這次來教大家如何安裝用來編譯C/C++ 的Compiler,由於ST只是單純的Editor工具並未具備Compiler可以用來編譯C/C++,所以這邊教大家如何安裝Compiler來配合ST;當然你可以安裝Code::Block因為他本身有內建GCC/G++這套GNU的Compiler。在這邊小弟會使用MinGW來安裝GCC/G++

首先我們先到MinGW下載安裝程式  ~MinGW首頁~  可以點選左下方的 Downloads =>中間的Installer => mingw-get-setup.exe  下載下來。






接下來就能安裝MinGW了,由於MinGW是透過網路安裝所以此檔案只是個安裝檔會透過網路下載你所勾選的軟體做安裝。建議將MinGW安裝在C:\下比較方便設定並且勾選G++Compiler,小弟是把Basic的部份乾脆全部都安裝,反正現在HarDisk都很大。



點選左邊Basic Setup 後將右邊的每一個框框點選滑鼠右鍵 選擇 Mark for Installation.





全選。



接著就是等他Download 下載安裝完畢嚕。

安裝玩後我們開啟ST,在這邊我們是透過MinGW的G++來當作我們的Compiler,這其中必須讓ST對G++下指令,但是因為ST根本不會知道我們把MinGW安裝在哪邊,因此要去Windows的系統加入PATH讓ST呼叫G++的時候Windows會自動幫他代入。所以這邊我們要把MinGW的路徑寫到Windows系統內:

控制台 => 系統 => 進階系統設定 => 環境變數 => 系統變數 ---> Path --->編輯





編輯系統變數 視窗內的  變數值(V):的輸入框最後面加上     ; C:\MinGW\bin    別忘記前方有個分號() 區別前方的程式路徑。

接著我們測試是否Path是否設定正確:
打開widnows的命令模式 輸入 g++ -v  來看看是否有出現版本訊息。

這樣表示我們路徑有正確被Windows識別,接著我們要跟ST講要使用G++ Compiler時要下什麼參數來使用它。


開啟ST後 點選上方功能選單的 Tools => Build System 我們會看到預設為 Automatic !此時我們選擇下方的『New Build System..』來自己設定Compiler 參數。


選擇New Build System 之後會看到ST開啟一個檔案視窗並有預設的指令參數,我們會對其修改如下:
-----------------------------------------------------------------------------------------------------------
{
     "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
     "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
     "working_dir": "${file_path}",
     "selector": "source.c, source.c++",
     "encoding":"big5",
     "variants":
     [
          {
               "name": "Run",
               "cmd": ["${file_path}/${file_base_name}.exe"]
          }
     ]
}
-----------------------------------------------------------------------------------------------------------


複製上方的程式碼,整個內容貼上覆蓋!


接著我們按 Ctrl + s 將它存檔,並存成你知道或是你能確定這是用MinGW的g++ compile code的名字( 小弟存成 C++Bulider.sublime-bulid.sublime-build )。接著我們可以簡單的寫一個小小 Hello World 來測試看看嚕!


使用ST 開啟一個新檔 ( Ctrl + o )  並且用 Ctrl + Shift + p (對~就是你用來裝套件的熱鍵呼叫框) 然後輸入 set syntax : c++ 這個指令是跟ST說目前這個檔案為C++格式,接著輸入 Hello World 相關程式。


然後按下 Ctrl + b 作為編譯, Ctrl +Shift + b 作為執行。 其執行檔  *.exe 也會產生在你原始檔案的目錄下,可以透過命令視窗來執行!




這樣就能直接透過ST 編譯 C/C++ 程式碼了!下一回介紹寫C/C++必備的套件 CTags !~待續.

留言

  1. C大您好!
    我按照您的步驟做到更改path那邊(在後面加上; C:\MinGW\bin)
    然後在cmd中打入g++ -v後並沒有出現版本訊息(非內部或外部命令...)
    請問我可能是哪個環節出錯了呢?(確認過MinGW的安裝位置確實是在C碟底下)
    有勞您了!

    回覆刪除
    回覆
    1. 你要先確認你的MinGW是否是安裝在C:\下 如果你是安裝在program下,那就變成要指定到c:\program\MinGW\bin了~再試試看 :D

      刪除
    2. 我也是同樣問題
      確定安裝的位子在C:\MinGW\bin
      但出現的是"g++"不是內部或外部命令、可執行的程式或批次檔
      請問有沒有解決方法呢?
      謝謝!

      刪除
    3. 那本人改天找時間會測試看看,後來因為電腦從灌當初設定已經刪除加上最近在忙著弄別的事情。年假再找時間試試看 :D

      刪除
    4. Chao An Hsiao 與李昱霆 你們在安裝MinGW那邊要確認是否有安裝全部的base套件,然後在確認MinGW是否有正確裝在C槽,否則在設定path路徑那邊就不能按照我的設定方式喔。

      刪除
    5. 您可以試著檢查分號前面是否多打了空白
      (XXXXXX空白; C:\MinGW\bin)

      刪除
  2. C大您好,根據教學能夠成功編譯並產生.exe檔
    不過用ctrl+shift+b的時候,出現訊息如下:

    [Decode error - output not utf-8]
    [cmd: [u'bash', u'-c', u"g++ 'C:\\Temp\\test2.cpp' -o 'C:\\Temp/test2' && 'C:\\Temp/test2'"]]
    [dir: C:\Temp]
    [path: C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\MinGW\bin]
    [Finished]

    猜想是編碼問題,但是google到的做法都沒辦法解決
    C大知道如何處理嗎?

    回覆刪除
    回覆
    1. 你的win7語言是繁體中文嗎?因為看起來好像是不支援utf-8的樣子,win7我記得可以加入編碼語言,由於M$預設是使用Big5的樣子你可以在控制台=>地區及語言=>上方~格式 確認一下是否是『中文(繁體、台灣)』

      刪除
    2. C大您好,我遇到跟樓主一模一樣的問題.
      請問地區及語言若確認是中文(繁體、台灣)了,應如何修正呢?謝謝.

      刪除

張貼留言