sublime text 3配置C++編譯環境

安裝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]
發佈了40 篇原創文章 · 獲贊 153 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章