我想在Ubuntu 12.04上的Sublime Text 3的C ++单文件版本中启用-std=gnu++11
。
我已经将工具链升级到最新的g ++,并且不希望在每次构建时看到以下错误:
错误:#error此文件需要ISO C ++ 2011标准的编译器和库支持。此支持目前是实验性的,必须使用-std = c ++ 11或-std = gnu ++ 11编译器选项启用。
我浏览了/home/myuname/.config/sublime-text-3
,但找不到任何要修改的文件。
如何编辑构建设置?
答案 0 :(得分:63)
在Sublime Text 3中,包裹在.sublime-package
zip档案中。要访问C ++构建文件,请先安装Package Control(如果您还没有),然后安装PackageResourceViewer
插件。打开命令选项板(在工具标签下),输入 prv
以显示 PackageResourceViewer
< / strong>选项,选择 Open Resource
,然后向下导航至C++
并选择 C++ Single File.sublime-build
选项。根据自己的喜好编辑它,保存它,你应该全部设置好。
下面是一个应该在Linux上运行的构建系统。按 Ctrl B 进行构建,然后点击 Ctrl Shift B 运行结果计划。
{
"cmd": ["g++", "-std=gnu++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": ["${file_path}/${file_base_name}"]
}
]
}
答案 1 :(得分:0)
就我而言,问题在于在 Windows 中,ST3 调用的是 py 而不是默认的 python。如果您在本地 python 解释器的 "cmd": ["python", "-u", "$file"] 中更改 python,新系统应该可以工作。
{
"cmd": ["python3", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"env": {"PYTHONIOENCODING": "utf-8"},
"windows": {
"cmd": ["python", "-u", "$file"],
},
"variants":
[
{
"name": "Syntax Check",
"cmd": ["python3", "-m", "py_compile", "$file"],
"windows": {
"cmd": ["py", "-m", "py_compile", "$file"],
}
}
]
}