Sublime Text 2 使用 g++4.8 编译 C++11 程序

系统中装了 g++4.8.1 后(详见《Ubuntu 12.04 安装 gcc-4.8 及 gdb 7.6》), 为了可以在 Sublime Text 2 中直接使用快捷键 Ctrl+B 和 Shift+Ctrl+B 进行编译和编译运行C++11程序, 需按以下步骤配置新的 Build System.

1. 打开 Sublime Text 2, Tools→Build System→New Build System...

2. 在新打开的文件中填入以下内容

{
    "cmd": ["g++-4.8", "${file}", "-o", "${file_path}/${file_base_name}", "-std=c++11"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["bash", "-c", "g++-4.8 -std=c++11 '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}

3. 保存文件为 g++-4.8.1.sublime-build, 保存路径按默认即可. (一般默认目录为 ~/.config/sublime-text-2/Packages/User/).

4. 打开 Sublime Text 2, Tools→Build System, 可以看到多了一个新的 Build System: g++-4.8.1, 选中后,使用快捷键 Ctrl+B 和 Shift+Ctrl+B, 即会使用 g++4.8 进行编译和运行程序.

Sublime Text 2 使用 g++4.8 编译 C++11 程序_第1张图片

5. 环境: Ubuntu 12.04(64-bit) + g++-4.8.1+Sublime Text 2.0.2

6. 补充: 思考过程
(1). 在 Tools→Build System 里发现可以进行 New Build System..., 但是点开后发现完全无从下手配置 Build System.

(2). 在 Google 里搜到这篇文章Make Sublime Text use gcc4.8 on Mac, 按文章给的代码新建了一个 Build System, 可以正常编译运行了. 但是使用时有一点不爽的地方: Ctrl+B 只是编译, Shift+Ctrl+B只是运行, 与快捷键原来的意思不一样(原来的 Shift+Ctrl+B是编译+运行), 这样就会导致进行修改后, 想看结果必须先按 Ctrl+B 再按 Shift+Ctrl+B 才行, 而原来只需要按一次 Shift+Ctrl+B即可.

(3). 想看一下Sublime Text 2 自带的 C++ Build System 是怎么配置的, 可是在 ~/.config/sublime-text-2/Packages/User/ 目录中并没有发现类似 C++.sublime-build 这样的文件; 往上一级目录~/.config/sublime-text-2/Packages/C++ 中可以找到 C++.sublime-build 文件, 模仿其代码, 将 g++ 换成 g++-4.8, 并添加 -std=c++11 即可.

(4). 这里有 Build System 的官方说明.

你可能感兴趣的:(ubuntu,SublimeText2,C++11,g++4.8)