Sublime怎么运行C++程序?手把手教你配置Sublime C++编译器环境

夜晨同学_9181

夜晨同学_9181

2026-04-10

694人浏览

原创

Sublime Text 需配合本地 g++ 或 MinGW-w64 编译器才能运行 C++ 程序,配置核心是设置正确的构建系统并确保编译器路径已加入 PATH;Windows 用户还需处理 UTF-8 with BOM 编码及 _setmode 中文输出支持。

sublime怎么运行c++程序?手把手教你配置sublime c++编译器环境

Sublime Text 本身不带编译器,也不能直接“运行”C++程序——它只是个编辑器。真正能运行 C++ 的,是你本地安装的 g++(Linux/macOS)或 MinGW-w64(Windows)。配置的关键,是让 Sublime 知道去哪调用这个编译器,并按正确顺序执行编译 + 运行。

确认系统已装好 C++ 编译器

这是最常卡住的一步:很多人以为装了 Sublime 就能跑 C++,结果点“Build”只看到 command not found: g++ 或 'g++' is not recognized as an internal or external command。

  • Windows 用户必须手动安装 MinGW-w64(推荐使用 msys2 安装的 mingw64 工具链),并把 g++.exe 所在路径(如 C:\msys64\mingw64\bin)加进系统 PATH 环境变量
  • macOS 用户用 brew install gcc,安装后 g++ 通常软链为 g++-14(版本号可能不同),建议用 which g++ 确认实际命令名
  • Linux 用户一般自带 g++,但需确认:运行 g++ --version 有输出,且不是 command not found

创建 Sublime 的 C++ 构建系统(.sublime-build)

Sublime 通过构建系统(Build System)定义“按下 Ctrl+B 后干啥”。默认的 C++ Single File 往往不带运行步骤,也未必匹配你本地的 g++ 路径或参数。

C++14
C++14

C++14 对 C++11 的修正与增强版本,适合旧系统维护和较老工具链兼容。

下载
  • 菜单栏选 Tools → Build System → New Build System…
  • 清空默认内容,粘贴以下内容(Windows 用户注意路径分隔符和 shell_cmd 中的 .exe):
{
    "shell_cmd": "g++ -std=c++17 -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.cpp",
    "variants": [
        {
            "name": "Run",
            "shell_cmd": "g++ -std=c++17 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
        }
    ]
}

保存为 C++.sublime-build(文件名必须以 .sublime-build 结尾),建议存到 Packages/User/ 目录下。

  • -std=c++17 显式指定标准,避免老编译器默认用 C++98 导致新语法报错
  • -Wall 开启常用警告,对初学者极有用
  • && 表示前一个命令成功才执行下一个,即“编译成功才运行”,防止运行旧可执行文件
  • Windows 用户若用 MinGW-w64,shell_cmd 中的 g++ 可能需写成 g++.exe,且运行部分要加 ./ 前缀:"./${file_base_name}.exe"

解决中文输入/输出乱码(Windows 高频问题)

用 MinGW 编译的程序在 Windows 终端里打印中文,经常显示为 ???,这不是 Sublime 的锅,而是控制台编码和源文件编码不一致。

  • 确保你的 .cpp 文件保存为 UTF-8 with BOM(Sublime 右下角看编码,菜单 File → Save with Encoding → UTF-8 with BOM)
  • 在代码开头加两行(仅 Windows MinGW 有效):
std::wcout

C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime c++

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1858

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2964

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

6264

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

6189

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

7774

16

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2024.04.29

11794

11

go语言字符串相关教程
go语言字符串相关教程

本专题整合了go语言字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.07.29

6079

17

c++字符串相关教程
c++字符串相关教程

本专题整合了c++字符串相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.07

6747

13

常用字符串方法大全
常用字符串方法大全

常用字符串方法大全

2025.08.08

3348

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程