如果您尝试在sublime text中编译C++代码,但遇到不支持C++11特性的问题,则可能是由于编译器未启用C++11标准。以下是解决此问题的步骤:
一、修改现有构建系统配置文件
通过编辑Sublime Text中的.build文件,可以直接添加-std=c++11编译参数,使g++按照C++11标准进行编译。
1、打开Sublime Text,点击菜单栏的Tools → Build System → New Build System…。
2、将默认内容替换为以下JSON结构,并根据您的编译器路径和需求进行调整:
立即学习“C++免费学习笔记(深入)”;
{
“cmd”: [“g++”, “-std=c++11”, “${file}”, “-o”, “${file_path}/${file_base_name}”],
“file_regex”: “^(..[^:]*):([0-9]+):([0-9]+):? (.*)$”,
“working_dir”: “${file_path}”,
“selector”: “source.c, source.cpp”,
“shell”: true,
“variants”: [
{
“name”: “Run”,
“cmd”: [“bash”, “-c”, “g++ -std=c++11 ‘${file}’ -o ‘${file_path}/${file_base_name}’ && ‘${file_path}/${file_base_name}'”]
}
]
}
3、保存文件为
C++11.sublime-build
,并存放在默认提示的Packages/User/目录下。
4、保存后,在Sublime Text中选择Tools → Build System → C++11作为当前构建系统。
二、使用命令行变体实现编译与运行一体化
在构建系统中定义多个变体(variant),可以在一次配置中完成编译和运行两个操作,提升开发效率。
1、在构建系统文件中,除了主编译命令外,添加一个名为Run的变体,用于执行生成的可执行文件。
2、使用快捷键Ctrl+Shift+B调出构建选项,可以选择“C++11”仅编译,或选择“C++11 – Run”直接运行程序。
3、确保终端能够正确输出结果,可在cmd或bash环境中测试生成的可执行文件是否正常运行。
三、验证编译参数是否生效
确认-std=c++11参数已成功应用,可通过编写使用C++11特性的代码来测试,例如auto关键字或范围for循环。
1、编写测试代码:
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 2, 3};
for (auto x : v) std::cout << x << ” “;
return 0;
}
2、使用配置好的构建系统进行编译和运行。
3、若输出为1 2 3且无编译错误,则说明-std=c++11参数已正确加载。
以上就是Sublime运行C++11标准代码_在构建系统中添加-std=sublime js json ai c++ ios 配置文件 编译错误 bash json for include auto int 循环 sublime text
暂无评论内容