6

我想你们中的许多人正在使用或曾经使用过 Sublime Text 2 编辑器。我有一个奇怪的错误:无法构建 C++ 程序。

我的 C++.sublime-build

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

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

我发现当数组包含像or这样的cmd任何替换表达式时,构建不会开始。否则它开始。${file}$file

编译器无关紧要。当我尝试过时"cmd": ["notify-osd", "$file"],它没有用;但"cmd": ["notify-osd", "sometexthere"]它奏效了。

手工编译是正确的。

我的程序:

#include <iostream>

int main() {
    std::cout << "Hello World";
}

我使用 Ubuntu 12.04,32 位。Sublime 编辑器版本:2.0.1。

如果这不是我可以问这个问题的地方,请告诉我什么是正确的。

4

3 回答 3

7

编辑你的 C++.sublime-build 文件......就像一个魅力。

{
    "cmd": ["g++", "-Wall", "-Wextra", "-pedantic", "-std=c++11",   "${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",
            "cmd": ["bash", "-c", "g++ -Wall -Wextra -pedantic -std=c++11 '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}
于 2012-10-03T07:59:20.037 回答
1

我可以为这个问题提供一个解决方法:使用 makefile。Sublime Text 2 可以运行 makefile 来为你编译 c++。

通过在 Sublime 论坛 (http://www.sublimetext.com/forum/) 中提问,您更有可能得到这个问题的更好答案。即使在那里,他们也可能有兴趣知道它“如何”不起作用(即,如果在按下“构建”时根本没有发生任何事情,您可能需要指定它)。

于 2012-07-20T09:50:12.083 回答
0

我花了几个小时才让 C++ 编译在 Sublime Text 上工作,但我仍然有一些小问题(比如 Sublime Text 显然无法在外部窗口/控制台中执行程序)。

这是我的配置文件:

{
"cmd": ["C:\\MinGW\\bin\\mingw32-g++.exe", "-Wall", "-time", "$file", "-o", "$file_base_name"],

"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",

"working_dir": "${project_path:${folder}}",

"selector": "source.c",

"shell": true,

"encoding": "latin1"

}

(如果编译器不起作用,请确保将编码更改为 utf8)

此外,将 MinGW 的 bin 文件夹添加到操作系统的 Path 变量中(在开始菜单中查找“环境变量”,然后查找 Path 变量)。

于 2012-07-25T21:49:02.767 回答