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. html

1. 打開 Sublime Text 2, Tools→Build System→New Build System... c++

2. 在新打開的文件中填入如下內容
shell

{
    "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/). sublime-text

4. 打開 Sublime Text 2, Tools→Build System, 能夠看到多了一個新的 Build System: g++-4.8.1, 選中後,使用快捷鍵 Ctrl+B 和 Shift+Ctrl+B, 即會使用 g++4.8 進行編譯和運行程序. bash

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

6. 補充: 思考過程
(1). 在 Tools→Build System 裏發現能夠進行 New Build System..., 可是點開後發現徹底無從下手配置 Build System.
spa

(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便可. .net

(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 便可. c++11

(4). 這裏有 Build System 的官方說明. code

相關文章
相關標籤/搜索