您的位置:首页 > 编程语言 > C语言/C++

sublime text 3配置C++编译环境

2015-05-18 19:13 686 查看

安装MinGW

看这篇百度教程安装MinGW并添加环境变量D:\MinGW\bin;

其实安装了MinGW并且配置了环境变量就可以直接用sublime编译C++文件了,只要在sublime中编译系统选择C++ single file就行了,但是常常出现两个报错,一个是说main要返回一个int型变量

[code]F:\work\test1.cpp:5:11: error: '::main' must return 'int'
 void main()
           ^
[Finished in 0.5s]


这个只要把main前面的void改成int并在最后面加一句return 0;就行了

还有一种是由于中文编码系统出错

[code][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文件,用记事本打开,按照如下修改

[code]{
    "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

[code]#include <iostream>
using namespace std;
int main()
{
    cout<<"Hello world!"<<endl;
    cout<<"测试中文"<<endl;
    return 0;
}


在sublime中选择“工具”——“编译系统”——“C++ Single File”,然后按Shift+Ctrl+B编译运行,结果如下

[code]Hello world!
测试中文
[Finished in 2.2s]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: