Sublime配置C语言开发环境_Sublime使用MinGW编译运行C++教程

星婷吖_8688

星婷吖_8688

2026-05-06

650人浏览

原创

gcc和g++不可互换:gcc默认不链接c++标准库,编译c++文件需显式加-lstdc++,而g++自动链接stl并定义__cplusplus等宏;二者对.c/.cpp文件的语法解析、预定义宏及链接行为均不同。

sublime配置c语言开发环境_sublime使用mingw编译运行c++教程

gcc 和 g++ 不是可互换的命令,C 文件必须用 gcc,C++ 文件必须用 g++——哪怕只改文件后缀,不换编译器也会在链接阶段报一堆 undefined reference to `std::。


确认系统已装好 MinGW-w64 并能被 Sublime 调用

Sublime 启动时会读取它启动那一刻的环境变量;你改完 PATH 后没重启 Sublime,g++ --version 在 CMD 里能跑,但在 Sublime 里仍报 command not found。

  • Windows 下务必装 MinGW-w64(不是旧版 MinGW),安装路径不能含中文或空格,推荐 C:\mingw64
  • 把 C:\mingw64\bin 加进系统 PATH,然后**彻底关闭 Sublime 所有进程**(包括托盘图标),再重开
  • 新开 CMD,运行 g++ --version 和 gcc --version 都得有输出;缺一个,C 或 C++ 构建系统都会失败
  • macOS 用户注意:brew install gcc 安装的是 gcc-14 这类带版本号的命令,构建系统里得写全名,不能只写 gcc

Windows 下 .sublime-build 必须设 "shell": true

MinGW 的 gcc.exe 在 Windows 上依赖 shell 环境解析路径和重定向;不用 "shell": true,遇到含空格的路径(比如 C:\Users\John Doe\project\main.c)会直接静默失败,连错误都不报。

C++ 算法竞赛自动化测试数据生成与校验框架
C++ 算法竞赛自动化测试数据生成与校验框架

根据原题生成新题面、验证器及完整测试数据,自动套用 testlib 模板,用于用户要求生成测试数据时。

下载
  • cmd 字段必须是数组格式:["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe"],字符串形式的 "shell_cmd" 容易在中文路径下乱码
  • ${file_base_name}.exe 是 Windows 必须加的后缀;Linux/macOS 对应写成 "./${file_base_name}"
  • "working_dir": "${file_path}" 确保 gcc 在源文件所在目录执行,否则 #include "mylib.h" 这种相对头文件会找不到

file_regex 写错会导致双击错误不跳转

Sublime 底部面板里显示的编译错误,只有匹配 file_regex 正则的行,才能双击跳转到对应源码位置。GCC 默认输出格式是 main.c:5:10: error: ...,正则不严丝合缝就失效。

  • 推荐用:"file_regex": "^(..[^:]*):([0-9]+):([0-9]+):\s+(.*)$"
  • 别漏掉末尾的 \s+,否则警告信息里带多余空格时匹配失败
  • 如果用了 Clang,它的报错格式略有不同(列号后多一个冒号),得微调正则,比如改成 :([0-9]+):?([0-9]+)?:?
  • 不配这个字段,错误就堆在面板里,点不了,查错效率断崖式下降

交互式程序(含 scanf)不能靠 Sublime 输出面板运行

Sublime 的构建输出面板是只读的伪终端,不支持 stdin 输入。你写好 scanf("%d", &x);,按 Ctrl+B 编译再 Ctrl+Shift+B → Run,程序会卡住,光标不动,以为崩了——其实只是等输入,但面板根本不给输。

  • 真要测试交互逻辑,编译完手动打开 CMD/PowerShell,cd 到源文件目录,运行生成的 .exe
  • 别在构建系统里硬塞 start cmd /k ... 类命令:Windows 下弹新窗口、焦点混乱、关窗即杀进程,反而更难调试
  • 想快速验证逻辑?先把 scanf 暂时换成固定值,比如 int x = 42;,跑通再切回去

复杂点在于:构建系统本身不感知项目结构。单个 .c 文件能跑,但一旦加了 inc/mylib.h 和 src/utils.c,gcc 就会报 undefined reference——这不是配置错了,是该上 Makefile 了。

13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!

相关文章

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

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

下载

相关标签:

sublime c语言 c++

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

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2188

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

979

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

387

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

307

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

366

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

580

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1389

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1177

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1305

9

热门下载

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

精品课程

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