Sublime Text 3 C ++构建系统

时间:2013-10-07 15:20:44

标签: c++ macos terminal sublimetext3

你好我在Sublime Text 3中使用C ++构建系统搞砸了一下,现在我无法运行任何程序。 这是我的构建系统:

{
  "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",
      "cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && open -a Terminal -e \"${file_path}/${file_base_name}\""
    }
  ]
}

感谢您的帮助, Nenor

1 个答案:

答案 0 :(得分:2)

唯一错误的想法似乎就是你写command的方式。它没有在新文档中说明,但在old one中您可以阅读

CMD: Array 包含要运行的命令及其所需的参数。

因此,这个构建系统应该可以解决问题(这是默认提供的):

{
    "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",
            "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
        }
    ]
}

请注意,之前有人报告默认情况下提供的C++.sublime-build有问题(在我的操作系统X上一切正常)。如果是这种情况,请考虑Salek在this answer上的回复。