C/C++开发环境配置指南:VSCode、Dev-C++、CodeBlocks与CLion实战
2026/9/18 1:25:56 网站建设 项目流程

C/C++这行当,说难也难,说简单也简单。但不管你以后是想写算法、搞嵌入式、做游戏还是啃底层,进门的第一道坎永远是同一个——把开发环境搭起来。我见过太多同学,兴致勃勃买了本《C++ Primer》,翻开第一章,结果卡在“请先安装一个开发环境”这行字上,一卡就是一整天。更离谱的是,很多人下了一堆软件,装完发现根本编译不了,最后连“Hello World”都跑不起来,直接劝退。

这篇文章我就把C/C++最常用的四款开发工具——VSCode、Dev-C++、CodeBlocks、CLion——挨个拆开揉碎讲一遍。不仅告诉你每一步怎么点,还会解释清楚背后的原理,比如为什么配置了编译器才能运行、为什么有时候点编译却报“找不到gcc”。顺便把这些年我在这些工具里踩过的坑、网上被问爆的问题(什么中文乱码、调试看不见变量、CodeBlocks启动报错、CLion中文输出乱码之类的)一次性说透。不管你是零基础小白,还是被环境问题折磨的老手,这篇都值得存一份慢慢看。

1. 四种工具定位与选型思路

先别急着下软件,我先把这四兄弟的“性格”给你摸清楚。它们没有绝对的好坏,只有适不适合你当前的阶段。

1.1 它们各自是什么来头

VSCode:微软家的免费代码编辑器,严格说它不是IDE(集成开发环境),而是一个“编辑器”。它的看家本领是插件生态极其丰富,通过装插件可以变成几乎任何语言的开发环境。对于C/C++,你需要自己装编译器、自己写配置文件,灵活度拉满,但新手很容易在配置阶段被劝退。

Dev-C++:老牌免费的IDE,很多高校的机房至今还在用。它的特点就是傻瓜式,装上就能用,自带编译器,单文件编译特别方便,适合刚接触编程、只想赶紧跑通代码的人。但它的调试功能和代码提示比较弱,界面也比较古早,一旦项目变大就有点吃力。

CodeBlocks:同样是免费开源的IDE,跨平台支持很好(Windows、Linux、macOS都能跑)。它的风格比较“学院派”,界面简洁,对C/C++的工程管理做得中规中矩,很多算法竞赛选手和大学老师推荐它。优点是配置比VSCode简单,功能比Dev-C++完整。

CLion:JetBrains家出品的重量级IDE,专为C/C++打造,也是这四个里最“现代”的。智能提示、重构、调试、CMake集成都非常强,你写代码时它就像个贴身助理。缺点是吃内存(电脑太老慎用)、收费(学生可以申请免费教育授权)。

1.2 选型建议:怎么快速决定用哪个

如果你还在犹豫,我给个最粗暴的建议:

  • 学生党、零基础、今天就想跑通第一个程序的:直接上Dev-C++,别折腾。
  • 要打算法竞赛、需要频繁建临时文件的:CodeBlocks,够用且稳。
  • 以后想走工程路线、愿意花半小时搞定配置的:VSCode,越用越顺手。
  • 不差内存且想要极致写码体验的:CLion,用过就回不去。

说句实在话,工具这东西,重要的是“顺手”而不是“最贵”。我自己是从Dev-C++入门,后来用CodeBlocks写过课设,中间折腾过VSCode,现在主力是CLion。每个工具都有它的脾气,等你懂得它们各自的脾气,选哪个都不是问题。下面我们就一个个来过。

2. 编译器才是主角,编辑器只是壳

很多新手会混淆一个概念:我装了VSCode,怎么还不能编译C++?我要告诉你一个关键认知:编译器和你用的编辑器/IDE是两码事。编辑器负责让你写代码,而把代码变成可执行文件(那个.exe)的工作,是编译器干的。

2.1 从源码到可执行文件的完整链路

C/C++源文件(.c/.cpp)要变成能跑的程序,大致要经过四个阶段:预处理、编译、汇编、链接。预处理处理宏和头文件展开;编译把代码翻译成汇编语言;汇编把汇编变成机器指令的目标文件(.o或.obj);最后链接器把各个目标文件和库文件黏在一起,生成可执行文件。

这个过程,大多数时候你不需要手动一行行敲命令,但你得知道系统里装了谁在干这活。Windows下最常见的C/C++编译器组合是MinGW-w64(提供gcc和g++),另外还有MSVC(Visual Studio那套)和Clang。

注意:如果你用Dev-C++或CodeBlocks的Windows安装包,它们通常自带MinGW编译器,所以你感觉不到“装编译器”这个动作。但VSCode和CLion默认不带,这是很多人在VSCode里卡死的根本原因。

2.2 MinGW-w64的下载与安装要点

我建议在Windows上用VSCode或CLion的同学,统一走“手动安装MinGW-w64”这条路。

去MinGW-w64的官方仓库或靠谱的镜像站,下载压缩包(比如x86_64-posix-seh之类版本)。解压到一个没有中文、没有空格的路径,比如D:\mingw64。然后把这个路径下的bin目录(里面有gcc.exe、g++.exe、gdb.exe这些文件)加到系统环境变量Path里。

加环境变量的步骤:右键“此电脑” -> 属性 -> 高级系统设置 -> 环境变量,在“系统变量”里找到Path,点编辑,新建一行,填入D:\mingw64\bin

弄完打开一个全新的命令行窗口,输入g++ --version,如果能看到版本号输出,说明编译器已经可以全局调用了。我见过不少人卡在这一步,明明装好了,命令行输命令提示“不是内部或外部命令”,十有八九是没开新窗口,或者Path路径写错了,再检查一遍就好。

2.3 验证编译器是否可用

命令行窗口里依次测试这几个命令:

gcc --version g++ --version gdb --version

有输出就是OK。gcc用来编C语言,g++用来编C++,gdb是调试器,后面VSCode和CLion调试都要靠它。这一关过了,你的电脑才算真正具备C/C++的编译能力。

3. VSCode配C/C++环境实操指南

VSCode的本体安装很简单,去官网下安装包,一路下一步就行。麻烦的是后续配置,但只要你理解了我前面说的“编译器是核心”这件事,配置就变得顺理成章了。

3.1 必装插件与配置文件框架

装完VSCode,先打开扩展面板(Ctrl+Shift+X),搜索并安装这两个插件:

  • C/C++(微软官方出的,提供智能提示、调试支持)
  • C/C++ Extension Pack(它会把语言、CMake、调试器等常用工具打成一包)

接下来,新建一个文件夹作为项目目录(比如D:\cpp_workspace\hello),在里面新建一个hello.cpp文件,先写一段能跑通的测试代码。然后按F5(或点击侧边栏的运行调试按钮),VSCode会提示你选择环境,这时候它会自动生成两个重要文件:.vscode/tasks.json(编译任务)和.vscode/launch.json(调试配置)。

3.2 tasks.json和launch.json核心配置

有的新版VSCode会一键生成模板,这套模板在大多数情况下能用,但不够稳。我直接给你一份实测很稳的配置模板,直接把内容覆盖进去就行。

.vscode/tasks.json(负责编译)核心字段如下:

{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe build active file", "command": "D:/mingw64/bin/g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": ["$gcc"], "group": { "kind": "build", "isDefault": true }, "detail": "用g++编译当前活动文件" } ] }

这段配置的意思是:用指定的g++.exe编译当前打开的文件,-g参数是为了生成调试信息(否则接下来没法断点调试),-o是指定输出文件名。如果你电脑的MinGW装在别处,记得把command里的路径改成你自己的。

.vscode/launch.json(负责调试)核心字段如下:

{ "version": "0.2.0", "configurations": [ { "name": "C/C++: g++.exe build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "D:/mingw64/bin/gdb.exe", "setupCommands": [ { "description": "为gdb启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe build active file" } ] }

关键点:program字段必须指向tasks.json里生成的exe路径,miDebuggerPath必须填你本机gdb的路径,preLaunchTask填tasks里的label名字。这三个字段互相咬合,任何一处不对,调试就起不来。

3.3 VSCode多文件项目的处理思路

很多人学到后面会问:我的项目有好多.cpp文件,难道每次只编译当前文件?当然不是。这时候建议引入CMake或者简单一点用g++一次性编译多个文件。快速的做法是在tasks.json的args里把${file}换成所有源文件名,或者用${workspaceFolder}\\src\\*.cpp这种通配方式。

但如果你准备认真写项目,我还是建议直接上CMake。VSCode里安装CMake和CMake Tools插件,写一个CMakeLists.txt,点几下就能实现整套项目的构建和调试,比手写tasks.json灵活得多。这块展开讲又是一篇文章,这里先提个引子,等你们把单文件玩明白了再进阶。

3.4 VSCode那些高频踩坑点

说几个VSCode配置C/C++时几乎人人都会被坑的地方:

第一,代码能编译但是运行窗口一闪而过。这很正常,因为程序执行完窗口就关闭了。解决办法有俩,一是在代码里加system("pause"),二是在launch.json里设置externalConsole为true,让程序在系统命令行窗口里运行,就能看到输出和交互了。

第二,中文乱码。默认情况下MinGW和Windows控制台的编码容易打架。你可以把源码文件编码设为GBK,或者更推荐在代码里加一段设置控制台编码为UTF-8的代码,这个我后面在CLion部分也会细说。

第三,按F5后提示“无法打开…exe”或“找不到任务”。先看看是不是没有先保存文件,然后检查tasks.json和launch.json里的label和preLaunchTask是否严格一致,以及路径里有没有中文或特殊字符。这几个点检查完,90%的问题都能找到原因。

4. Dev-C++这“老家伙”其实很能打

Dev-C++其实早就不更新了,但时至今日它依然是很多中文教材默认推荐的工具,原因很简单:省心。我也承认,如果你今天下午就要交作业,现在还没装任何IDE,那Dev-C++确实是你最快的出路,从下载到跑出“Hello World”都不会超过五分钟。

4.1 安装与版本选择避坑

安装Dev-C++建议认准Orwell版5.11(经典版本),或者搜一下较新的wxDev-C++分支。下载下来就是一个setup.exe,一路Next,注意安装路径最好也别带中文,虽然它不像VSCode那么矫情,但路径怪异时偶尔会有奇怪问题。

装完之后在“工具 -> 编译器选项”里确认一下编译器已经被正确识别。如果这里显示“未找到编译器”,就手动指定一下MinGW的安装目录。只要这里显示正常,写代码、编译、运行就是一条龙顺手的事。

4.2 中文乱码的根源与两种解法

Dev-C++的中文乱码问题,估计是全网对Dev-C++抱怨最多的一件事。你写了句printf("你好");,控制台输出却是一堆“浣犲ソ”类似的乱码。

乱码的根源是编码不一致:源码保存的编码和编译器认为的编码、以及控制台显示用的编码,三者没有对齐。Dev-C++老版本默认用ANSI(Windows本地编码往往是GBK),而很多同学从网页复制代码时带进来的是UTF-8编码。

解法一:在“工具 -> 编译器选项 -> 编译器”里,给编译器加一条参数:

-fexec-charset=GBK

意思是告诉编译器生成的程序用GBK编码输出中文,这样就迎合了Windows控制台的默认显示。实测下来,90%的Dev-C++乱码问题加这一条参数就能解决。

解法二(更现代):在程序开头加三行Windows专属代码:

#include <windows.h> // ... SetConsoleOutputCP(CP_UTF8);

这会在程序运行时主动把控制台代码页切成UTF-8。两种方法选一种就行,别两个都上,不然可能反而更乱。

4.3 调试断点与查看变量值的正确姿势

热搜里有个问题很典型:“Dev-C++怎么调试断点、查看当前断点处的变量值”。其实Dev-C++的调试功能是藏着掖着的,很多人找不到入口。

首先必须确认两点:第一,你打开的项目必须是“控制台应用程序”类型(新建项目时选Console Application),而不是一个零散的源文件;第二,在“工具 -> 编译器选项”里勾选“在编译时加入调试信息”(等价于加-g参数)。这两条不做,调试就是灰的或不生效。

接下来在代码行号旁边点一下,出现红点,就是断点。按F8或点那个绿色的调试按钮,程序会运行到断点处暂停。这时候你可以在下方“调试”面板里看到局部变量的值。如果你想手动看某个表达式的值,在“调试”标签页的“监视”栏里右键添加监视,输入变量名或表达式,比如iarr[0]i*2,运行到断点时会实时显示数值变化。

4.4 注释乱码和错误提示乱码的处理

Dev-C++连注释都可能乱码。如果你的代码里中文注释变成了乱码,大概率是源码文件本身的编码和编辑器默认编码不一致。简单粗暴的办法:用Windows自带的记事本打开这个源文件,然后“另存为”,编码处选择ANSI,覆盖保存,再用Dev-C++打开就正常了。这一步治标治本。

另外,当编译报错时,如果错误信息显示“未编译任何文件”或中文乱码,先用前面的-fexec-charset=GBK参数再看。还有,老版本Dev-C++对中文路径支持很差,项目路径里千万别出现中文文件夹名,不然不是编译失败就是调试起不来——这个坑我当年踩到怀疑人生。

5. CodeBlocks安装、汉化与常见故障

CodeBlocks走的是“轻量 + 跨平台 + 开源”路线。它的界面乍一看有点复古,但用顺手之后会发现,它对项目结构的展示非常清晰,写课设、做小项目都很合适,尤其是不想在VSCode里折腾配置文件的人,CodeBlocks是个很好的折中方案。

5.1 下载版本怎么选:别下错不带编译器的包

CodeBlocks官网下载页面其实有个容易踩的坑:它会提供好几种安装包,比如codeblocks-17.12-setup.execodeblocks-17.12mingw-setup.exe。前者是纯IDE,不带编译器,体积小;后者内置了MinGW编译器,装完直接能编译。

新手一定认准名字里带mingw的那个包,也就是“codeblocks-17.12 mingw setup.exe”。否则你装完打开软件,新建项目后点编译,会提示找不到编译器。如果你不小心下了不带编译器的版本,也不用重装,去前文说的MinGW-w64单独下载一份,然后在CodeBlocks的“设置 -> 编译器 -> 全局编译器设置”里,把编译器的安装目录指过去就行。

5.2 启动报错“thesaurus files not found”怎么办

这个报错可以说是CodeBlocks的“特色”了,英文原话大概是Thesaurus files '\spellchecker\th_en_US.idx' not found。很多新手一看到这玩意儿就慌了,以为软件坏了。

实际上这只是拼写检查功能的词典文件找不到,不影响你写代码和编译。但每次启动都弹窗确实很烦。出现这个问题的常见原因是:安装时选择了带空格的路径,或者安装包在Windows某些权限策略下没有把词典文件解压到正确位置,又或者软件目录被移动过。

解决办法按顺序尝试:

  • 如果是绿色版或解压版,确认解压完整,特别是share\CodeBlocks\spellchecker目录下有.idx.dat文件。
  • 把CodeBlocks的安装目录设置为英文路径。
  • 右键CodeBlocks图标,以管理员身份运行一次,让它生成缺失的配置。
  • 如果还不行,就在“设置 -> 编辑器 -> 拼写检查”里,取消勾选“启用拼写检查”,世界就清净了。

5.3 汉化不完全与手动汉化步骤

CodeBlocks官方安装包默认是英文界面。想汉化,可以下载一个zh_CN的locale文件(后缀是.mo),放到CodeBlocks安装目录下的share\CodeBlocks\locale\zh_CN\文件夹里,然后在“Settings -> View -> Internationalization”里选择Chinese,重启后就变中文了。

如果汉化后发现界面有些地方还是英文,甚至菜单错乱,别慌,那是语言包版本和软件版本不完全匹配导致的。我建议汉化包尽量找与17.12版本匹配的,否则宁可不汉化,英文界面也就那几个单词,用两天就认识了。我一直觉得,IDE界面本身就是学习的一部分,这词还能逼自己熟悉一下专业术语。

5.4 CodeBlocks无法编译运行的排查清单

“点编译没反应”、“编译按钮灰色”、“提示无法找到编译器”是CodeBlocks问题的高发区。按照以下顺序排查,基本能覆盖九成情况:

  • 新建项目时选择的是不是Console application(控制台应用)。
  • 编译器是否成功识别:设置 -> 编译器 -> 全局编译器设置,看“Selected compiler”是不是GNU GCC Compiler,下方有没有列出编译器路径。
  • 项目文件路径是否含中文或空格:把整个项目放到D:\code\这种纯英文路径下再试。
  • 杀毒软件是否拦截了编译生成的临时exe:把项目目录或整个CodeBlocks加入白名单。
  • 如果报错信息里提到ld returned 1 exit status,通常是链接错误,比如main函数重名、缺少某个库,需要看上面的具体提示而不仅仅是最后一行。

说实话,CodeBlocks如果配置正常,是个非常稳的工具,我很多竞赛选手朋友到现在都还在用它刷题。它的启动速度、占用内存和稳定性,在这几个工具里都属于“能打”级别的。

6. CLion安装配置与进阶技巧

CLion是我现在的主力工具,如果你愿意为写代码这件事花点学习成本,CLion的体验是四者里最接近“现代化IDE”的,智能提示、重构、调试体验完全不是前几个能比的。

6.1 安装、激活与Toolchain配置

CLion本体是个JetBrains分发安装包,装完需要登录JetBrains账号。如果你是在校生,有学校邮箱的话一定要去JetBrains官网申请学生教育授权,完全免费。就算不想折腾授权,CLion也有30天免费试用,学生时代用CLion写代码,确实能省下很多时间。

装完CLion之后,第一件事是配Toolchain(工具链),这是CLion的核心概念。路径在:File -> Settings -> Build, Execution, Deployment -> Toolchains。在Environment那里选择MinGW,它会自动检测,如果没检测出来,就手动把MinGW安装目录填进去。检测成功的标志是能看到gcc、g++、gdb、make这些组件的版本号都显示出来。如果这一页是空的或有红色报错,那编译功能是没法用的。

6.2 CLion中文输出乱码的根治方法

CLion中文乱码的问题是高频热搜,其实根治起来比Dev-C++还简单。CLion默认给编译器传的是UTF-8编码,而Windows控制台在旧版本下默认GBK,两边不一致就乱码。

解决分两步: 第一步,在Settings里搜索“File Encodings”,把Global Encoding、Project Encoding、Properties Files三个地方全部设为UTF-8。 第二步,在Settings里搜索“Console”,把Default Encoding设为UTF-8。 然后,确保你代码里没有任何system("chcp 936")这种强行切代码页的语句。

如果上面两步做完还有问题,就往下走:在CMakeLists.txt里加一行,告诉链接器运行时把标准输出编码切到UTF-8。

add_link_options("-fexec-charset=UTF-8")

或者干脆在代码第一行用Windows API强制设置控制台输出为UTF-8:

#include <windows.h> int main() { SetConsoleOutputCP(CP_UTF8); std::cout << "你好" << std::endl; return 0; }

大多数情况下把坑填在CMake或者编码设置里就够了。

6.3 在CLion中配置JNI环境的经验

热搜里有“在CLion中配置JNI环境”,这其实是CLion一个比较进阶的玩法了。用CLion写C++的本地方法,然后通过JNI(Java Native Interface)让Java调用C++,整套环境配置确实有点绕。

核心诉求是:让CLion能够找到你机器上JDK里的jni.hjni_md.h头文件。

常规做法的步骤是:确认你已经装了JDK并配好了JAVA_HOME环境变量。然后在CMakeLists.txt里加一段:

include_directories($ENV{JAVA_HOME}/include) include_directories($ENV{JAVA_HOME}/include/win32)

这样CLion在解析和编译时就会自动去JDK目录下找JNI相关的头文件。之后你写的native方法,IDE也会有对应的代码提示。如果你在链接时遇到找不到jvm.lib这类库的问题,还要把JDK的lib目录加到link_directories里。

注意:JNI环境配置因人而异,如果你用的是别人写好的构建脚本或者Maven插件,那么CMake里通常只需要把头文件路径和链接库加对即可,具体项目要具体分析。CLion对CMake的原生支持,让这套配置比在命令行里手搓Makefile要直观不少。

6.4 插件商店搜不到Continue插件怎么破

最后说一个我最近遇到的CLion痛点:CLion的插件商店是JetBrains全家桶通用的,但有时你想装某个插件(比如Continue或者某个AI编程助手),搜索了半天搜不到。

这种情况一般是两个原因。第一,CLion版本过旧,默认配置的插件仓库地址已经过时,去Settings里打开Plugins,在Marketplace标签页右上角,找“设置”图标,检查有没有配置了正确的插件仓库地址。第二,有些插件没有在CLion的Marketplace里上架,只给IntelliJ IDEA用,或者要求你到插件官网下载zip包,然后通过“Install Plugin from Disk”手动离线安装。

我个人的经验是:CLion的插件生态虽然不如VS Code丰富,但核心的AI助手、代码规范、正则工具都还是能搜到的。搜不到的时候,先去插件官网确认它是否支持CLion,再考虑离线安装。还有一个辅助方法,把JetBrains系IDE的版本更新到最新(2023版以上),很多旧版搜索不到的问题会自动消失。

7. 今天就能上手的实操总结与个人体会

写了这么多,最后给你一个能立刻行动的清单。如果你今天就想把环境搞定,先确立目标,然后照着对应工具的部分操作即可。

如果你想用最少的时间跑通第一行C++代码:装Dev-C++,新建文件写下Hello World,按F11编译运行,记住一句话:“环境是用起来才熟悉的,不是看完教程想明白的。后面遇到问题,带着报错信息去搜,一搜一个准。你踩过的坑,千万人早就替你踩过了。”

关于CLion,再说个小技巧:很多人喜欢在CLion里用Debug模式看变量的变化过程,但Debug模式下编译优化默认是关闭的,变量值不会被优化掉,这正好方便观察,所以你调试时千万别手动开O2优化参数,否则某些变量会被优化成“不存在”,你会以为是自己代码写错了。

工具只是起点,把代码跑起来的那一刻,才是真正的开始。

如果你打算长期写C/C++,我个人最推荐的学习路径是:先用Dev-C++或CodeBlocks学会基础语法和调试操作,理解了“编译-运行-调试”这个过程之后,再切到VSCode熟悉配置文件,最后根据需求上CLion。环境是死的,人是活的,适合自己的,才是最好的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询