安裝MinGW
看這篇百度教程安裝MinGW並添加環境變量D:\MinGW\bin;
其實安裝了MinGW並且配置了環境變量就可以直接用sublime編譯C++文件了,只要在sublime中編譯系統選擇C++ single file就行了,但是常常出現兩個報錯,一個是說main要返回一個int型變量
F:\work\test1.cpp:5:11: error: '::main' must return 'int'
void main()
^
[Finished in 0.5s]
這個只要把main前面的void改成int並在最後面加一句return 0;就行了
還有一種是由於中文編碼系統出錯
[Decode error - output not utf-8]
compilation terminated.
[Finished in 0.1s]
這往往是sublime添加了中文編碼GBK支持的時候C++源文件默認採用了GBK編碼而編譯配置輸出的時候默認用的是UTF-8導致的,解決辦法就是讓兩者一致:
要麼C++源文件用UTF-8編碼C++ Single File.sublime-build就不用改,這樣在.cpp文件裏面就不能寫中文了
要麼就是C++源文件用GBK編碼,C++ Single File.sublime-build文件按照如下方法修改成”encoding”:”gbk”
修改C++ Single File.sublime-build文件
在sublime軟件安裝路徑的packages下(D:\Sublime Text 3\Packages)找到C++.sublime-package文件,把它拷到桌面,右鍵選擇好壓打開它(其他壓縮軟件也可以),打開後找到C++ Single File.sublime-build文件,用記事本打開,按照如下修改
{
"shell_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":"gbk",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
}
]
}
其實只做了兩處修改,就是在第6行加了一句”encoding”:”gbk”,或者”encoding”:”cp936”,注意上一行結尾如果沒有逗號要補上一個逗號作爲行結束標誌。
還有第12行的 g++後面加了一個編譯選項-std=c++11,以使用C++11的相關特性。
修改完之後保存文件(如果用sublime編輯器打開按快捷鍵Ctrl+S保存,在sublime裏我經常忘了保存文件。。。)然後好壓提示文件“C++ Single File.sublime-build”已經被修改,您希望在壓縮文件中更新它嗎?選擇是,如下
然後關閉好壓軟件,將修改好的C++.sublime-package文件覆蓋原來D:\Sublime Text 3\Packages的文件,提示說要管理員權限,選擇“繼續”就修改好了。
測試文件
寫個C++文件測試一下test.cpp
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello world!"<<endl;
cout<<"測試中文"<<endl;
return 0;
}
在sublime中選擇“工具”——“編譯系統”——“C++ Single File”,然後按Shift+Ctrl+B編譯運行,結果如下
Hello world!
測試中文
[Finished in 2.2s]