
这两年写C/C的人基本都绕不开CLion这个名字。作为JetBrains家族里专门给C和C开发者准备的跨平台IDECLion在2025年已经非常成熟从写算法题、做课程设计到公司里的中大型项目、嵌入式开发都能看到它的身影。这篇内容我尽量把下载、安装、配置、常见坑一次讲透所有步骤都是近期在Windows、macOS、Linux三套环境里实测过的跟着走基本不会出问题。我周围不少朋友最开始都是被Visual Studio的臃肿或VSCode的“啥都要自己配”劝退才转向CLion的。它最大的好处是开箱即用得比较舒服智能补全、静态分析、调试器、CMake集成都是原生支持不需要像VSCode那样装一堆插件再手动调json。这篇文章适合刚接触CLion的新手也适合已经装了但被乱码、调试、多目标运行等问题卡住的同学我会把高频踩坑点都整理出来。1. 先用一句话说清楚CLion到底解决什么问题1.1 C/C开发者选CLion的真实原因CLion本质上是一个“重度集成”的C/C开发环境跟VSCode那种“编辑器插件”的思路完全不同。它内置了CMake、Gradle、Makefile、编译数据库compile_commands.json等多种构建系统的支持也就是说你新建一个项目之后IDE会自动扫描目录结构、解析CMakeLists.txt然后帮你生成索引。这个索引不是简单的文件列表而是包含类、函数、宏定义、头文件引用关系的完整符号表所以跳转定义、查找引用、重命名重构都特别快。我个人的体验是它在“读代码”这件事上做得尤其突出。接手一个老项目或者从GitHub上clone一个不熟悉的大型工程用CLion打开后它会花几分钟建索引建完之后整个代码就像本地文件一样可以随便跳转这比用文本编辑器一个个文件翻要高效太多。而且它的调试器集成了GDB和LLDB鼠标在行号旁边点一下就能下断点变量面板会自动展示当前作用域内的值数据结构复杂的时候还能直接展开看成员排查逻辑问题比加printf靠谱得多。再说说它适合谁。如果你是学生写数据结构和算法作业CLion能让你少折腾环境如果你在做嵌入式配合STM32CubeMX和OpenOCD也能玩得很转如果你在工作里维护的是服务端C项目CLion对CMake的深度支持会更贴合你的日常。简单讲只要你在写C或C并且希望环境“稳定大于折腾”CLion就是一个值得花时间上手的工具。1.2 电脑配置要求与2025版本选择CLion是用Java写的所以它继承了JetBrains系IDE“吃内存”的特点。我这里给一个实际参考内存8GB的电脑能跑但开大项目会有明显卡顿16GB比较舒服日常编辑、索引、调试都不会觉得拖沓如果是32GB内存那基本可以随便造。CPU方面反而是次要的现代处理器基本都够用真正影响流畅度的是SSDCLion启动和索引都依赖大量磁盘小文件读取机械硬盘的话建议还是先升级一块固态。版本选择上JetBrains现在只维护两个版本线当前版本和上一版本。比如2025年上半年最新的是2025.1下半年会出2025.2老版本不会像以前那样长期维护。我的建议是直接下载官网最新的稳定版不要追Beta或EAP那些是给想提前体验新功能的人准备的可能存在插件不兼容或者稳定性问题普通用户没必要冒险。另外CLion的许可证可以支持一个版本的大版本更新如果你是学生或者开源项目维护者可以申请JetBrains官方免费许可具体在官网的Free for Students and Teachers页面里就能找到入口不用去买来路不明的授权。2. 下载与安装2025版亲测流程2.1 从官方渠道下载安装包CLion的下载渠道其实很简单你只要牢记一个原则认准JetBrains官网别去第三方下载站。搜索引擎里搜“CLion下载”时前几条广告经常是各种改名软件站、激活工具站看着像官网点进去就是捆绑全家桶或者来路不明的“破解版”这类东西我强烈建议别碰不但容易被植入恶意代码而且IDE本身也收不到官方更新。官网地址是jetbrains.com/clion页面上会有一个大大的“Download”按钮点进去之后会看到两个选择操作系统和版本。操作系统按你当前电脑选就行Windows对应.exe安装包macOS有Apple Silicon和Intel两种架构区分别下错了否则安装后可能会被系统提示无法执行或性能异常。版本选择一般默认给最新稳定版直接点下载就好。下载前它可能会问你是否需要填邮箱接收试用链接这个不是必须的完全可以跳过。默认下载的是30天免费试用版试用期内功能没有任何删减到期后再决定是否购买授权。如果你只是想先体验一下30天足够把一个完整的小项目跑通了。2.2 Windows平台安装步骤Windows下安装CLion非常简单双击下载好的.exe文件基本一路Next就能完成。需要留意的是中间有一个“Installation Options”页面它会勾选“Add launchers dir to the PATH”和“Create desktop shortcut”之类的选项。第一个选项建议勾上因为它会把CLion的启动器目录加到环境变量PATH里方便你在命令行里直接敲clion64.exe或者写脚本调用桌面快捷方式看个人习惯我一般会勾上后面取用方便。CLion会默认复用你系统里已有的JetBrains公共配置目录比如你之前装过IDEA或PyCharm它会在同一个缓存目录下创建CLion文件夹。这里没有坑只是首次启动会比其他IDE慢一点因为在构建自己的索引。安装完成后第一次打开它会问你Import Settings如果你是老用户想保留配置就选对应的配置文件新用户直接选Do not import settings不然可能会继承一些旧版本的快捷键和界面偏好反而觉得不对劲。Linux用户得额外注意一点如果你装的是没有图形界面的精简版系统或者缺少某些依赖库启动时会报错。最常见的是缺少libxrender、libxtst这类X11相关的运行库遇到这种情况用发行版自带的包管理器装一下就行。比如Debian/Ubuntu系执行sudo apt install libxrender1 libxtst6基本能解决装完再启动就正常了。2.3 macOS安装与卸载的隐藏细节macOS用户拿到的是.dmg镜像双击打开后把CLion图标拖进Applications文件夹就完成安装了。第一次打开时系统会提示“无法验证开发者”这是因为CLion从App Store外分发需要到“系统设置 - 隐私与安全性”里点一下“仍要打开”。这个不是问题JetBrains是有开发者签名的只是macOS默认对未上架App Store的软件保留一个确认步骤。另外Apple Silicon芯片的Mac用户要注意如果你是拿Homebrew装的arm版工具链CLion在检测编译器时可能优先找到Rosetta转译的x86_64版本这会导致编译出来的程序是x86_64架构的。虽然不影响调试但在做性能敏感的原生开发时还是建议在Toolchain设置里手动指定/opt/homebrew/bin下的arm64编译器。我在M系列芯片上实测过配置正确的情况下CLion编译运行速度非常快风扇都不怎么转。卸载CLion时除了把应用程序里的CLion.app删掉还要清理配置目录。JetBrains系软件的设置都在~/Library/Application Support/JetBrains/CLion2025.1缓存在~/Library/Caches/JetBrains日志在~/Library/Logs/JetBrains。如果你不打算彻底重装这些都不用管如果遇到配置损坏导致启动闪退删除这几个文件夹再启动等于恢复出厂状态比卸载重装更实用。3. 首次启动必做的5项配置3.1 Toolchain工具链设置CLion本身不包含编译器它只负责调用你系统里已有的工具链。所以第一次启动时最关键的步骤是配置Toolchain。Windows下建议直接安装MinGW-w64或MSVCCLion会在设置里自动探测如果没找到就手动指定路径。macOS下安装Xcode Command Line Tools即可命令是xcode-select --install装完CLion会自动识别Apple Clang。Linux一般用系统自带的GCC不够新的话用apt或yum安装也行。我建议你在设置里打开“Build, Execution, Deployment - Toolchains”重点看两个地方第一个是C Compiler和C Compiler是否能够被自动识别如果显示红色错误说明路径不对第二个是Debugger一栏Windows下要确保是MinGW自带的GDBmacOS默认是LLDB这个不用改。工具链配好后CLion才能完成编译、运行、调试这一整套闭环。这一步是很多人刚装上就卡住的高频原因其实不是说软件坏了就是编译器没找到而已。3.2 中文界面与中文字体显示CLion默认是英文界面如果你习惯中文可以在Settings - Plugins里搜索“Chinese Language Pack”这是JetBrains官方出的中文化插件装完重启就是中文菜单了。不过我认识的不少开发者也选择保持英文界面一方面跟文档、教程里的术语对得上另一方面中文翻译在某些场景下反而陌生。这个看个人习惯不影响功能。真正需要注意的是中文字体的显示问题。JetBrains默认字体在Windows下对中文的渲染比较一般有时标点符号会变成半角看起来像乱码。我实测下来比较稳的方案是到Settings - Editor - Font里把字体改成“微软雅黑”如果是在macOS上改成“PingFang SC”或者“Noto Sans CJK SC”效果都不错。字号建议拉到14或16CLion默认的13号在2K屏上稍显小调大之后写代码眼睛会舒服很多。这个调整在编码、终端、控制台三个地方是分开的记得都改一下不然编辑器里正常控制台输出还是刺眼的小字号。3.3 新建CMake工程并跑通第一个程序配置好工具链后建议先建一个最简单的C项目验证整个链路。打开CLion选择“New Project”左侧选“C Executable”项目类型选“C17”或者“C20”语言标准可以根据你的需要改默认的C11也够用。指定好项目路径和名字后CLion会自动生成一个main.cpp文件里面是经典的“Hello, World!”。这时候先不要急着点那个绿色三角形建议你看看自动生成的CMakeLists.txt长什么样。CLion默认会生成类似下面的内容cmake_minimum_required(VERSION 3.26) project(MyDemo) set(CMAKE_CXX_STANDARD 20) add_executable(MyDemo main.cpp)这里project(MyDemo)里的名字要跟add_executable后面的目标名一致或相关CLion会以这两个信息来识别可执行文件。确认没改错后点右上角的Build图标等底部Build窗口输出“Build finished”之类的成功信息再点Run按钮就能在Run窗口看到程序的输出了。如果你能跑到这一步说明入口环境已经没问题了后面全是加深。3.4 文件编码统一与中文乱码预防中文乱码是CLion里最常见的问题之一大多数情况不是CLion的锅而是Windows的简体中文系统默认使用GBK编码而CLion新建文件默认是UTF-8。两边不一致编译器读取源码时就会把UTF-8的中文字符按GBK解析输出到控制台时再转回终端编码一来二去就变成了一堆看不懂的符号。解决办法是从源头做对。第一步在Settings - Editor - File Encodings里把Global Encoding、Project Encoding、Properties Files全部设为UTF-8同时勾选底部“Create UTF-8 files”选项。第二步在Settings - Build, Execution, Deployment - Console里把Default Encoding改成UTF-8这样能在IDE内置终端里正常显示中文输出。第三步如果是Windows的cmd窗口或CLion的Run窗口还是乱码可以统一把系统区域设置为Beta版“使用Unicode UTF-8提供全球语言支持”这个方法能根治但会影响一些老软件需要你权衡。我在实际项目中一般只做前两步90%的乱码问题都能解决。4. 高频使用技巧与调试实战4.1 同一工程里调试多个目标程序CLion在默认情况下一次只会运行一个可执行文件这导致很多同学在某个目录里写了多个示例子程序时只能改CMakeLists.txt来切换目标非常麻烦。实际上CLion提供了一套多目标管理和配置机制关键在CMakeLists.txt里如何组织目标。比如你有两个目标可以这样写cmake_minimum_required(VERSION 3.26) project(MultiDemo) # 要先把可选项打开 set(CMAKE_CXX_STANDARD 20) add_executable(demo1 src/demo1.cpp) add_executable(demo2 src/demo2.cpp)重新Reload CMake Project之后右上角运行配置的下拉框里会同时出现demo1和demo2两个目标你可以单独运行、单独调试或者直接点“Edit Configurations”为每个目标配置不同的命令行参数、工作目录和环境变量。如果两个目标之间有依赖关系比如demo2需要先运行demo1生成一个文件你还可以在Run Configuration里勾选“Before launch”加入运行demo1作为一个前置步骤。这种多目标管理在写单元测试的时候尤其好用可以单独跑被测试程序也可以单独跑测试可执行文件。4.2 在CLion里配置JNI开发环境JNIJava Native Interface是Java调用本地C/C代码的桥梁很多做Android Native层或高性能计算的同学会在CLion里写C这一侧。配置JNI环境其实不复杂核心就是三件事设置JDK的include头文件路径、设置编译输出的so/dll路径、让CLion能索引到jni.h。首先把你本地的JDK安装目录记下来Windows上一般在C:\Program Files\Java\jdk-XXmacOS上可以用/usr/libexec/java_home命令拿到路径。然后在CMakeLists.txt里加上两行include目录include_directories($ENV{JAVA_HOME}/include) include_directories($ENV{JAVA_HOME}/include/win32) # Windows # include_directories($ENV{JAVA_HOME}/include/darwin) # macOS这样CLion就能正确解析jni.h和jni_md.h了。接下来是编译成动态库CMake里用add_library(MyNative SHARED native.cpp)声明一个共享库目标构建产物会是一个.dll或.dylib文件你可以在Java代码里用System.loadLibrary(MyNative)加载。需要注意的是动态库的文件名依赖操作系统命名规则Windows下是MyNative.dllmacOS下是libMyNative.dylibJava在加载时只会自动加前缀或后缀所以如果本地测试时找不到库可以直接把构建输出路径加到java.library.path里或者把库文件复制到java.library.path指定的目录。4.3 不是CMake项目怎么打开sln工程处理思路有些同学手里拿到的是Visual Studio的解决方案文件也就是后缀名.sln的工程第一反应是直接双击让CLion打开结果发现CLion根本不认这个格式。这其实不是CLion做不到而是它的设计路线就是围绕CMake展开的官方对.sln的原生支持很有限。不过有变通的方案。如果你的.sln项目是纯C/C结构不太复杂最省事的方式是在项目管理器里以“Attach”方式挂载目录也就是直接把文件夹拖进CLion它会按文件类型建立索引只是无法自动识别MSBuild的配置关系。这时候你需要手写一个CMakeLists.txt把.sln里的源文件路径、头文件路径、宏定义和库依赖都收录进去。这个过程不算轻松但胜在可控。如果项目规模很大依赖关系复杂我更推荐保留Visual Studio或msbuild作为构建引擎只把CLion当代码阅读器。具体方法是新建一个空的CMakeLists.txt使用add_custom_target来调用msbuild构建CLion负责索引和跳转构建还是扔给VS。这样既不破坏原工程又能享受CLion的代码分析。换个角度看处理sln工程的过程其实也是梳理项目结构的机会我接过几个老工程后对模块划分和依赖关系的理解反而更清楚了。4.4 嵌入式开发用CLion写STM32用CLion做嵌入式开发尤其是STM322025年这套流程已经非常成熟了。基本组合是STM32CubeMX生成初始化代码 ARM GCC工具链编译 OpenOCD下载调试 CLion做编辑调试前端。相比Keil MDKCLion在代码编辑体验、Git集成、代码补全上的优势非常明显很多从Keil转过来的同学说“回不去了”。配置的大致步骤如下先用STM32CubeMX建一个项目Toolchain那里选Makefile生成代码后把整个目录拖进CLionCLion会自动识别Makefile并调起arm-none-eabi-gcc编译。如果你习惯了CMake也可以用CubeMX生成CMake工程新版CubeMX已经支持这个选项。调试方面需要在CLion里装好“Embedded Development”相关插件然后在Run Configuration里选择“Embedded GDB Server”指定调试服务器程序为OpenOCD并填好对应的-f参数比如interface/stlink.cfg和target/stm32f4x.cfg。我第一次在CLion里给STM32下断点的时候点完“Debug”看着变量面板实时更新寄存器值那个体验确实比串口打日志要直观太多。不过要提醒你嵌入式开发涉及的工具链版本很多建议把arm-none-eabi-gcc、OpenOCD、STM32CubeMX这几个工具的版本固定下来不要随便升级我遇到过OpenOCD升级后某个配置参数失效的情况排查了半天最后退版本才解决。5. 常见问题与排查速查表5.1 插件商店里搜不到continue插件怎么办这个问题的本质是JetBrains插件仓库的分发机制。Continue是一个AI编程助手插件很多用户会发现CLion的插件市场里搜不到或者搜到了却无法安装。我试过的可行方案是直接去Continue官网或JetBrains插件商店的网页版找到对应的插件安装包下载链接一般是.zip格式然后在CLion的Settings - Plugins里点齿轮图标选“Install Plugin from Disk”选择下载好的zip包即可完成安装。这里有一个要点插件版本要和CLion版本匹配。Continue新版要求CLion 2024.2以上如果版本过低会提示不兼容。另外安装后如果AI功能不生效先检查是否登录了Continue账号以及本地网络能否访问其服务。这个插件的体验好坏很看网络环境我在本地实测时发现它对代码补全的响应速度不如IDE内置的补全快所以我通常是把它作为“参考助手”来用而不是完全依赖。5.2 控制台输出乱码和文件乱码的排查乱码问题需要先判断是控制台乱码还是编辑区乱码两者成因不同。编辑区乱码通常是文件编码本身坏了你把文件用正确的编码重新打开一次就能恢复CLion右下角有一个编码指示器点它可以选择Reload in另一个编码。控制台乱码则是编译器和终端编码不匹配优先检查Settings - File Encodings里的全局编码是否设为UTF-8再检查Windows控制台代码页。如果项目本身就是老旧的GBK编码文件我的建议是分批转码而不是直接用CLion打开改因为CLion对所有文件都默认UTF-8打开GBK文件会先尝试按UTF-8解码一旦你保存了就会造成不可逆损坏。稳妥的方式是用文本转换工具统一把源码转成UTF-8再纳入CLion管理。另外调试时watch窗口里的中文变量值显示乱码一般是GDB本身对UTF-8的支持不稳定Windows下可以尝试换用MinGW64带的GDB或者干脆把变量名改成英文实测最省心。5.3 关于激活与授权的那些事关于CLion的激活我只说一种正规且推荐的做法购买正版许可或申请JetBrains官方的免费教育/开源许可。JetBrains经常有促销新用户可以试用30天学生和教师可以免费申请开源项目的维护者也可以申请免费许可这些都是官网直接可以操作的。网上各种“破解版”、“激活码”我建议不要碰一方面它们往往捆绑修改过的程序有被植入后门和木马的风险另一方面CLion的授权验证越来越严格这类方式极不稳定一旦失效还得反复折腾浪费时间又影响心情。JetBrains账号体系支持多设备同步你可以在不同电脑上登录同一个账号插件、设置都能同步。而且正版许可涵盖大版本更新2025年买的许可至少可以用到2026年的大版本长期算下来并不贵尤其对于以开发为主业的同学来说这笔投入带来的效率和稳定性是值得的。如果你现在还是学生用好免费教育许可就够了毕业之前的那段黄金学习期完全不会被版本问题耽误。5.4 编译时报找不到头文件、链接器报未定义的排查思路这类问题通常不是CLion配置错了而是项目本身的依赖路径没写清楚。先看报错发生在编译阶段还是链接阶段。编译阶段报“fatal error: xxx.h: No such file or directory”说明头文件包含路径没有加进CMakeLists.txt的include_directories或target_include_directories。链接阶段报“undefined reference to xxx”通常是库没链接需要检查link_libraries或target_link_libraries里是否写入了对应的库名。我见过很多新手在项目里直接把源码文件拖进来却不改CMakeLists.txt导致CLion虽然能索引到代码但构建系统完全不知道这些文件的存在自然就报找不到符号。解决办法是每次新增源文件后把文件名加进对应的add_executable或add_library列表里或者干脆在对应目录用file(GLOB_RECURSE SOURCES src/*.cpp)自动收集这样以后新增文件就不用频繁改CMake了。这里要提醒一下GLOB_RECURSE在CMake里有一定争议因为它不会自动感知新文件需要手动重新Reload CMake Project不过对于中小项目来说省去手动维护列表的麻烦整体收益还是大于这点小不便的。6. 最后分享几个我平常不太说的小习惯用CLion这几年我最大的体会是不要执着于“必须用哪个IDE”而是要让IDE为你手头的工作服务。比如平时写算法题我只开一个临时项目不建Git仓库轻轻松松。到了公司项目我会把CLion和JetBrains的其它IDE用同一个配置仓库同步插件、颜色主题、键位完全一致切换项目时没有割裂感。还有个小技巧是给CLion配启动参数。Windows下右键快捷方式在目标后面加上-d可以强制打开调试日志模式macOS下用命令open -a CLion启动时也能带参数。如果你遇到启动卡死或者界面异常可以先加参数看日志这样排查问题会比直接卸载重装高效很多。CLion还有个大杀器叫“Local History”它会在你本地自动记录文件的历史版本哪怕没有Git误删或者写崩了一段代码也能从这个功能里找回旧内容。我靠它救回过不止一次因为重构引发的代码丢失事故。这篇文章从下载装环境一路聊到了多目标调试、JNI、STM32、插件和乱码排查基本上覆盖了CLion日常使用的核心场景。希望你在2025年能顺利把CLion用起来把更多精力放在写代码和解决问题本身上。如果后续还有想了解的CLion细节顺着本文提到的关键词去官网文档检索基本都能找到答案。