事情起源于一次比赛中大佬的标程无法用sublime直接编译,错误提示如下:

唔,原来是sublime自带的c++编译系统没有-std=c++11的选项。

先看看自带的c++编译系统是怎么配置的。

找到sublime安装目录下的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++",

    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
        }
    ]
}

唔,JSON格式的配置文件。

已经可以看到其中的编译选项了,下面为c++11新建一个编译系统即可。

更改一下上面JSON文件的编译选项即可。

修改好后保存到User目录下,在编译系统处选择新建立的编译系统即可。

此时再Ctrl+B,享受c++11带来的快感吧~

标签: cpp, sublime, 编辑器

添加新评论