1. 程式人生 > >Sublime Text3 & MinGW & LLVM CLang 安裝配置C-C++編譯環境

Sublime Text3 & MinGW & LLVM CLang 安裝配置C-C++編譯環境

his c/c++ 而已 rtl sha2 9.png 大寫 utf8 實的

Sublime Text是一款強大的跨平臺代碼編輯器,小巧而且豐富實用的功能是Visual Studio不能比擬的,但是編譯運行是一個軟肋,本文通過在sublime中配置g++編譯器實現程序的編譯功能。具體步驟如下:

(一) 下載安裝Sublime text3 for windows

(二) 下載安裝 MinGW

(三) 下載安裝 LLVM CLang

(四) Sublime Text3配置

(五) 編譯測試

(六) 配置編譯C和CPP環境

(七) Sublime Text3的使用技巧

一、下載安裝Sublime text3 for windows

下載地址:http://www.sublimetext.com/3

二、下載安裝 MinGW與系統變量設置

本文使用的C/C++編譯器是gcc/g++,可選MinGW(for 32 bit Windows)或者MinGW-W64(for 32 and 64 bit Windows),如果你使用的操作系統是64位的,建議安裝MinGW-W64。([科普]MinGW vs MinGW-W64及其它:http://tieba.baidu.com/p/3186234212 )

2.1.1 安裝MinGW

下載地址:http://sourceforge.net/projects/mingw/

軟件安裝界面:

技術分享

安裝完成後會讓用戶選擇需要下載的Package

選擇要下載的Package:(先選Basic Setup,勾選最新的並應用安裝;然後再選All Packages的MinGW Compiler Suite,添加 The GNU C++ Compiler 的相關項即可)

技術分享

如圖所示,選擇 MinGW Compiler Suite之後,添加 The GNU C++ Compiler 的相關項即可。

2.1.2 設置環境變量

右擊我的電腦,點屬性->高級->環境變量。

技術分享

  1. 在環境變量PATH 添加系統 MinGW 的實際安裝位置,如: C:\Program Files\MinGW 或者比如本文中演示的C:\MinGW\bin。在PATH裏加入C:\MinGW\bin(具體路徑請根據你的MinGW選擇)。如果PATH裏面還有其他的變量,記得要加個英文半角分號。一般 PATH 中的變量會非常的多,不同變量之間使用;分隔。

技術分享

技術分享

  1. 新建LIBRARY_PATH變量,如果有的話,在值中加入C:\MinGW\lib,這是標準庫的位置。

技術分享

  1. 新建C_INCLUDEDE_PATH變量,值設為C:\MinGW\include。

技術分享

  1. 也可以按此設置,這種方式比較全,控制面板--〉系統--〉系統詳細設置--〉環境變量
MINGW_PATH=C:\mingw 

C_INCLUDE_PATH=%MINGW_PATH%\include;%MINGW_PATH%\lib\gcc\mingw32\3.4.5\include 

CPLUS_INCLUDE_PATH=%MINGW_PATH%\include\c++\3.4.5;%MINGW_PATH%\include\c++\3.4.5\mingw32;%MINGW_PATH%\include\c++\3.4.5\backward;%C_INCLUDE_PATH% 

LIBRARY_PATH=%MINGW_PATH%\lib;%MINGW_PATH%\lib\gcc\mingw32\3.4.5 

PATH=%MINGW_PATH%\bin;%MINGW_PATH%\libexec\gcc\mingw32\3.4.5 

  註意:上面的很多3.4.5這個是gcc的版本號,要以真實的文件夾為準。

  1. 檢查變量設置:Win+R輸入: cmd ,在命令行中輸入: g++ -v ,有內容輸入證明環境變量配置正確.如果出現 ‘g++‘ 不是內部或外部命令,也不是可運行的程序或批處理文件。 檢查上一步配置.

技術分享

如果出現上面的畫面,說明了你安裝成功了,否則就是環境變量設置的問題。需要修改一下環境變量。在已經存在的環境變量前面添加上mingw的路徑。因為Windows的環境變量修改之後不會立馬生效,需要重啟電腦。如果想省事,不想重啟電腦的話可以直接在cmd中輸入set path c:\這樣環境變量就會被強制刷新。

2.2 安裝MinGW-W64

下載地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

下載最新在線安裝文件MinGW-W64-install.exe,執行後,運行安裝目錄下的mingw-w64.bat,其目的是將../MingGW-W64/bin目錄添加到系統PATH中而已。

或者直接從網站下載對應版本壓縮包,如x86_64-7.1.0-release-posix-seh-rt_v5-rev2.7z,然後將其解壓到本地某個目錄下,如將該壓縮包內的mingw64目錄解壓到C盤根目錄,即C:\mingw64,然後將“C:\mingw64\bin”添加到系統PATH中即可使用。

技術分享

  • Whats the difference between thread_posixs and thread_win32 in gcc port of windows?

技術分享

三、下載安裝 LLVM CLang

(ST2中有sublimeClang插件,但ST3中沒有,可以手動安裝,但很麻煩,作者也不更新了,所以選擇其他插件進行代碼校驗、自動完成等)

  1. 下載LLVM,地址:http://llvm.org/releases/download.html
  2. 安裝並將路徑添加到系統環境變量PATH中;

四、Sublime Text3配置

  1. 打開ST3,安裝Package Control

按快捷鍵“ctrl + ` ”(esc下面那個鍵)或View > Show Console,在彈出的輸入框中輸入下面內容然後回車:

import urllib.request,os,hashlib; h = ‘df21e130d211cfc94d9b0905775a7c0f‘ + ‘1e3d39e33b79698005270310898eea76‘; pf = ‘Package Control.sublime-package‘; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://packagecontrol.io/‘ + pf.replace(‘ ‘, ‘%20‘)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install‘ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb‘ ).write(by)

註釋20170820:該內容從https://packagecontrol.io/installation#st3 (原使用網址https://sublime.wbond.net/installation#st3)上拷貝而來。

安裝好後ctrl + shift + p則可打開,然後輸入package control, 選擇Install相關的選項,一會就會彈出很多可以安裝的插件。點擊菜單欄中的Preferences-<Browse Packages...大多數插件會安裝在彈出的窗口所在的路徑中。

  1. 打開ST3,ctrl + shift + p>>install,等待一會後,安裝Sublimelinter插件;
  2. 然後繼續安裝Sublimelinter-contrib-Clang插件。

五、編譯測試

提示錯誤:

技術分享

自動完成:

技術分享

關於編譯,ST3默認即可;生成的可執行文件在cpp同目錄下。

ctrl+B:生成

ctrl+shift+B:運行

六、配置編譯C和CPP環境

在ST3菜單欄選擇Tools -> Build System -> New Build System...,復制下面的代碼並按編譯c或cpp不同進行相應命名保存即可,用G++編譯cpp程序,可命名為C++ Bulider.sublime-build,用GCC編譯C程序,可命名為GCC Bulider.sublime-build。

// Put this file here:

// "C:\Users\[User Name]\AppData\Roaming\Sublime Text 3\Packages\User"

// Use "Ctrl+B" to Build and "Crtl+Shift+B" to Run the project.

// OR use "Tools -> Build System -> New Build System..." and put the code there.

{

//用G++編譯cpp程序,可命名為C++ Bulider.sublime-build

"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\"",

"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

"working_dir": "${file_path}",

"selector": "source.c, source.c++",

"variants":

[

{

"name": "Run",

"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""

//"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""

}

]

//也可用此方法編譯C++程序(備用方案)

// "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": "cp936",

// "shell": true,

// "variants":

// [

// {

// "name": "Run",

// //"cmd": ["CMD", "/U", "/C", "g++ ${file} -o ${file_base_name} && ${file_base_name}"]

// "cmd": [ "start", "${file_path}/${file_base_name}.exe"]

// }

// ]

 

//用GCC編譯C程序,可命名為GCC Bulider.sublime-build

// "shell_cmd": "gcc \"${file}\" -std=c99 -o \"${file_path}/${file_base_name}\"",

// "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",

// "working_dir": "${file_path}",

// "selector": "source.c",

// "shell": true,

// "variants":

// [

// {

// "name": "Run",

// "shell_cmd": "gcc \"${file}\" -std=c99 -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""

// }

// ]

//用此方法也可編譯C程序(備用方案)

// "shell_cmd" : "gcc $file_name -std=c99 -o ${file_base_name}",

// "working_dir" : "$file_path",

// "shell": true,

}

七、Sublime Text3的使用技巧

7.1推薦插件

  • Convert To UTF8

將文件編碼從GBK轉換成UTF8,可以解決中文亂碼,快捷鍵Ctrl+Shift+C

  • Tab的中文顯示為方塊問題解決辦法:

在sublime text 3中,Preference, Settings,->User,添加:

"dpi_scale": 1.0,

"font_size": 12,

建議Settings-User配置:

{
	"dpi_scale": 1.0,
	"font_size": 12,
	"color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
	"ignored_packages":
	[
		"Vintage"
	],
	"line_padding_bottom": 1,
	"line_padding_top": 1,
"tab_size": 4,
	"translate_tabs_to_spaces": true,
	"word_wrap": "true"
}

  • BracketHighlighter

括弧高亮插件,清晰明了

  • ChineseLocalizations

漢化插件,支持無縫切換中文、日語、英文. 使用主菜單的幫助/Language子菜單來切換語言。要換回英語不需要卸載本插件,請直接從菜單切換英文。

  • 如果想要刪除插件,Ctrl+Shift+P調出命令面板,使用Remove Package選項,選擇要刪除的插件即可;更新插件:Upgrade Packages。

7.2快捷鍵

Ctrl+L 選擇整行(按住-繼續選擇下行)

Ctrl+KK 從光標處刪除至行尾

Ctrl+K Backspace 從光標處刪除至行首

Ctrl+J 合並行(已選擇需要合並的多行時)

Ctrl+KU 改為大寫

Ctrl+KL 改為小寫

Ctrl+D 選擇字符串 (按住-繼續選擇下個相同的字符串)

Ctrl+M 光標移動至括號內開始或結束的位置

Ctrl+/ 註釋整行(如已選擇內容,同“Ctrl+Shift+/”效果)

Ctrl+Shift+c轉換為utf8

Ctrl+R 搜索指定文件的函數標簽

Ctrl+G 跳轉到指定行

Ctrl+KT 折疊屬性

Ctrl+K0 展開所有

Ctrl+U 軟撤銷

Ctrl+T 詞互換

Tab 縮進 自動完成

Shift+Tab 去除縮進

Ctrl+F2 設置書簽.

F2 下一個書簽

Shift+F2 上一個書簽

shift+鼠標右鍵 列選擇

Alt+F3 選中文本按下快捷鍵,即可一次性選擇全部的相同文本進行同時編輯

Alt+. 閉合當前標簽

F6 檢測語法錯誤

F9 行排序(按a-z)

F11 全屏模式

Ctrl+Enter 光標後插入行

Ctrl+Shift+Enter 光標前插入行

Ctrl+Shift+[ 折疊代碼

Ctrl+Shift+] 展開代碼

Ctrl+Shift+↑ 與上行互換

Ctrl+Shift+↓ 與下行互換

Ctrl+Shift+A 選擇光標位置父標簽對兒

Ctrl+Shift+D 復制光標所在整行,插入在該行之前

ctrl+shift+F 在文件夾內查找,與普通編輯器不同的地方是sublime允許添加多個文件夾進行查找

Ctrl+Shift+K 刪除整行

Ctrl+Shift+L 鼠標選中多行(按下快捷鍵),即可同時編輯這些行

Ctrl+Shift+M 選擇括號內的內容(按住-繼續選擇父括號)

Ctrl+Shift+P 打開命令面板

Ctrl+Shift+/ 註釋已選擇內容

Ctrl+PageDown 、Ctrl+PageUp 文件按開啟的前後順序切換

Ctrl+鼠標左鍵 可以同時選擇要編輯的多處文本

Shift+鼠標右鍵(或使用鼠標中鍵)可以用鼠標進行豎向多行選擇

Shift+Tab 去除縮進

Alt+Shift+1~9(非小鍵盤)屏幕顯示相等數字的小窗口

(本文部分內容及圖片來源於網絡,感謝原文作者分享。)

Sublime Text3 & MinGW & LLVM CLang 安裝配置C-C++編譯環境