安装MinGW
看这篇百度教程安装MinGW并添加环境变量D:\MinGW\bin;
其实安装了MinGW并且配置了环境变量就可以直接用sublime编译C++文件了,只要在sublime中编译系统选择C++ single file就行了,但是常常出现两个报错,一个是说main要返回一个int型变量
F:\work\test1.cpp::: error: '::main' must return 'int'
void main()
^
[Finished in s]
这个只要把main前面的void改成int并在最后面加一句return 0;就行了
还有一种是由于中文编码系统出错
[Decode error - output not utf-]
compilation terminated.
[Finished in s]
这往往是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”已经被修改,您希望在压缩文件中更新它吗?选择是,如下
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISNzATNyQDM5EDOxUDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
然后关闭好压软件,将修改好的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 ;
}
在sublime中选择“工具”——“编译系统”——“C++ Single File”,然后按Shift+Ctrl+B编译运行,结果如下
Hello world!
测试中文
[Finished in s]