跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Sublime怎么编译运行C++代码 Sublime建立C++编译系统【指南】

Sublime Text需手动配置C++编译系统,本质是调用本地g++或MinGW-w64;未安装编译器会报“g++: command not found”;正确配置需保存JSON格式的C++.sublime-build文件至Packages/User/,并确保编译器可用、文件已保存、路径无中文空格、构建系统选为C++。 Sublime Text 里没有“一键运行”C++,得自己配编译系统 Sublime Text 本身不带 C++ 编译器,也不内置运行环境。所谓“编译运行”,其实是靠它调用你本地已安装的
g++
(Linux/ mac OS)或
MinGW-w64
(Windows)来完成的。如果你还没装好编译器,配任何 Sublime 编译系统都只会报错:
g++: command not found
或类似提示。 确认方式很简单:打开终端(macOS/Linux)或命令提示符/PowerShell(Windows),输入:
g++ --version
能输出版本号,说明编译器可用;否则先去装 MinGW(Windows)或 Xcode Command Line Tools(macOS)或
build-essential
(Ubuntu)。 写一个最简可用的 C++ 编译系统(. sublime -build) Sublime 的编译系统本质是一个 JSON 文件,扩展名是
.sublime-build
,放在
Packages/User/
目录下。别用网上那些带
shell_cmd
+ 复杂管道的配置——容易出错、难调试、不跨平台。 立即学习 “ C++免费学习笔记(深入) ”; 推荐用下面这个干净版本(保存为
C++.sublime-build
): Trae win Trae Windows 官方版本现已全面支持 Win10 和 Win11 系统(64位)。国内开发者可直接访问 Trae 中文官网(trae.cn 或 trae.com.cn),一键下载官方正版 .exe 安装包,享受国内直连的高速稳定体验。安装过程极其简便,双击即可运行,并支持一键无缝导入 VS Code 或 Cursor 的原有主题、快捷键及插件配置。登录支持手机号、微信或稀土掘金账号。内置免费的豆包与 DeepSeek 等顶级大模型,让你开箱即用,轻松开启高效的 AI 智能编程之旅。 下载
{ "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", "variants": [ { "name": "Run", "shell_cmd": "cd "${file_path}" && "${file_path}/${file_base_name}"" } ] }
关键点说明:
-std=c++17
显式指定标准,避免默认老标准导致新语法报错
-Wall
打开常用警告,对初学者极有用
file_regex
让错误行能双击跳转,必须保留,否则编译报错时点不动
variants
下的
Run
是独立操作:先
Ctrl+B
编译,再
Ctrl+Shift+B
→ 选
Run
执行 Windows 用户若用 MinGW,把
g++
换成绝对路径如
"C:/mingw64/bin/g++.exe"
,并确保路径中无空格或中文 为什么 Ctrl+B 编译后没反应?常见卡点 不是 Sublime 坏了,大概率是这几个地方没对上: 文件没保存 ——
${file}
是当前文件路径,未保存时为空,
g++
会直接失败,但 Sublime 不报明显提示 文件名含中文或空格 —— Windows 下尤其容易崩,建议全用英文命名,如
hello.cpp
终端权限问题(macOS)—— 如果用的是 Apple Silicon Mac,而
g++
是通过 Homebrew 装的,可能需在终端先执行
xcode-select --install
Sublime 没读到刚改的
.sublime-build
—— 修改后要重启 Sublime,或在菜单栏
Tools → Build System → New Build System…
里重新粘贴保存一次 选错了构建系统 —— 确认右下角状态栏显示的是
C++
,不是
Automatic
或其他名字 想看运行结果?别依赖 cmd/powershell 自动关窗 Windows 上直接运行控制台程序,窗口一闪就关,根本看不到输出。这不是 Sublime 的锅,是 cmd 默认行为。解决方法只有两个: 在代码末尾加
std::cin.get();
或
system("pause");
(后者不跨平台) 或者改
Run
变体,让它走终端:把
shell_cmd
改成(Windows):
cmd /c "cd /d \"${file_path}\" && \"${file_path}/${file_base_name}\" && pause"
macOS/Linux 用户可直接用
bash -c
包一层,加
; read -p 'Press Enter...'
注意:所有这些终端交互逻辑,都和 Sublime 无关,它只是帮你发了一条命令过去。真正决定输出是否可见的,是你本地 shell 的行为。

相关文章