g++未安装或path未被sublime继承是主因;需终端验证g++--version,macos/linux应从终端启动sublime,windows安装mingw时须勾选“add to path”,并优先用shell_cmd而非cmd数组配置构建系统。

Ctrl+B 没反应、报 command not found 或编译成功但双击错误行不跳转——这些问题 90% 都不是构建系统写错了,而是 g++ 根本没装好,或 Sublime 启动时根本没拿到你的 PATH。
g++ --version 在终端能跑 ≠ Sublime 能调用
Sublime Text(尤其是 macOS/Linux GUI 启动)不会读取你的 ~/.zshrc 或 ~/.bashrc,也不会继承终端里生效的 PATH。Windows 下如果用快捷方式启动 Sublime,也可能绕过新设的系统环境变量。
- macOS/Linux:验证方法是 从终端启动 Sublime,例如:
open -a "Sublime Text"或subl(需先配置 shell 命令);否则 GUI 启动的 Sublime 看不到你 brew 安装的g++-14 - Windows:安装 MinGW-w64 时必须勾选 “Add to PATH”;装完后重启命令提示符和 Sublime,再在 CMD 中运行
g++ --version确认有输出 - 所有平台:如果
g++ --version报错,别配.sublime-build,先解决这个
shell_cmd 比 cmd 数组更稳,尤其 Windows
cmd 数组写法(如 ["g++", "${file}", "-o", "${file_base_name}"])在 Windows 下容易因路径含空格、中文、未继承环境变量而静默失败;shell_cmd 走系统 shell 解析,自动处理引号和空格。
组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。
- 推荐配置(保存为
Packages/User/C++.sublime-build):{ "shell_cmd": "g++ -std=c++17 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\"", "file_regex": "^(..[^:]*):([0-9]+):([0-9]+):? (.*)$", "working_dir": "${file_path}", "selector": "source.c++, source.cpp" } -
file_regex必须匹配 GCC 实际报错格式,比如main.cpp:5:12: error:;错一个字符,双击错误行就跳不到源码 - macOS 用户注意:
brew install gcc后,g++命令默认指向 Xcode 的clang++,真实 GNU g++ 是g++-14,得把shell_cmd里的g++换成g++-14
Ctrl+Shift+B 运行一闪而过?不是构建系统的问题
构建系统执行 "${file_path}/${file_base_name}" 后控制台立刻关闭,是因为程序本身退出了。这不是 Sublime 的 bug,也改不了输出面板的行为。
- 真实可行的解法只有两个:
- 在代码末尾加
std::cin.get();(C++)或getchar();(C),等用户按回车才退出 - 或者直接去终端运行生成的可执行文件:
cd /path/to/your/file && ./a.out
- 在代码末尾加
- 不要试图在
shell_cmd里塞start cmd /k(Windows)或xterm -e(Linux)——这些依赖外部终端程序,跨平台不可靠,且 Sublime 输出面板不支持交互式输入
file_regex 和 working_dir 看似次要,但一旦出错,调试体验会断崖式下降:错误点不跳转、生成的可执行文件找不到、多文件项目链接失败……这些都不是“再试试”的问题,而是配置里漏掉的一个引号或路径变量。
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!










