6 c++ compilation sublimetext sublimetext3 c++14
我知道我们可以使用g ++编译器将程序编译为C++.但是g ++编译器默认为98版本.要将其作为C++ 14运行,我们需要-std=c++14在终端中添加.
Sublime Text因其重量轻和功能而被认为是有竞争力的编程的有价值的编辑器.在这些比赛中,时间很重要,因此在复制文本文件然后从终端运行时浪费了时间.与98相比,C++ 14具有丰富的库和其他重要功能.因此,人们希望能够在sublime文本和C++ 14上编译代码.
但是,我如何确保在Sublime Text 3中编译代码时,它会默认编译为C++ 14?
经过一番摆弄,我提出了以下解决方案 -
更改
"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
Run Code Online (Sandbox Code Playgroud)
至
"shell_cmd": "g++ -std=c++14 \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
Run Code Online (Sandbox Code Playgroud)
-std=c++14在构建和运行中都添加了
这是正确的方法吗?它被命名为单个文件 - 如果我想使用多个文件,这是否需要担心?
最好是创建一个新的构建系统,方法如下:
点击Tools -> Build System -> New Build System.
这是我用的(注意标志-std=c++14)
{
"cmd":["bash", "-c", "g++ -std=c++14 -Wall '${file}' -o '${file_path}/${file_base_name}' && '${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++ -std=c++14 '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
(我相信您可以使用已有的行并将其保存到新的构建系统文件中.)
现在保存新版本,选择它Tools -> Build System.
现在你可以构建和运行了CTRL + B