CLion 2025全攻略:从安装到CMake工具链配置与调试
2026/9/17 7:02:46 网站建设 项目流程

2025 年开工第一周,我又把开发环境完整重装了一遍。起因是之前一直在 VS Code 里配插件写 C/C++,换了新电脑以后各种配置要从头折腾,调试器、CMake、编译器的版本组合乱成一团,弄到第三天我决定直接用 CLion,安装、配置工具链、建项目、跑起来,整个过程半小时内结束。这篇文章就是我这次实际安装和使用 CLion 的完整记录,覆盖下载渠道、安装步骤、工具链配置、高频使用场景和几个踩坑点,全部是 2025 年实测可用的方案。不管你是刚开始学 C 语言的小白,还是想从其他 IDE 迁移过来的老手,照着操作基本能一次跑通。

需要提前说明的是,CLion 是 JetBrains 家的付费 IDE,官方提供全功能试用,学生和开源项目也有免费授权。我不会在这篇文章里写任何绕过授权的操作,一来没必要,二来网上那些“破解版”大多被加过料,装完指不定给你塞点什么。

1. CLion 是什么,我为什么从 VS Code 换到它

1.1 它和 VS Code / Visual Studio 的区别

先说说 CLion 到底是什么。它是 JetBrains 出品的 C/C++ 集成开发环境,2023 年之后已经全面转向以 CMake 为核心构建系统,同时支持 Makefile、Gradle、Compilation Database 等模式。和 VS Code 相比,CLion 最明显的优势是把“代码索引”这件事做得非常深,你跳到定义、查引用、重命名符号的时候,基本不需要等待。而在 VS Code 里,C/C++ 插件和 CMake Tools 插件配合起来虽然也能用,但插件版本不一致、头文件路径指错、IntelliSense 抽风是家常便饭。

Visual Studio 当然也很好,尤其在 Windows 平台上做 Windows 桌面程序开发,生态无可替代。但它的问题是:第一,只支持 Windows 和 macOS 的 Windows 分支,跨平台能力弱;第二,CMake 和 Linux 工具链支持不符合很多人的开发习惯;第三,VS 的体积和启动速度确实有点吓人。CLion 的好处是跨平台体验一致,Windows、macOS、Linux 下用的是同一套界面和配置逻辑,而且对 CMake、WSL、Docker、远程开发都有原生支持,适合需要经常切换环境的开发者。

1.2 2025 年这版 CLion 的核心能力

我今年实际用的版本是 CLion 2025.1 系列,整体体验比前两年又顺了不少。大致列一下我感知比较强的能力:

  • 原生 CMake 支持,配置、构建、调试一条龙,CMake 高亮和自动补全做得很完整
  • 内置 GDB / LLDB 调试器,支持断点、条件断点、内存视图、线程切换,嵌入式开发还能接 OpenOCD
  • 支持远程开发模式,可以通过 SSH 连接服务器进行编译和调试
  • 内置嵌入式开发插件,可以直接创建 STM32 工程,配合 STM32CubeMX 使用
  • 对 C、C++、Objective-C、汇编语言都有完整的语法高亮和重构支持
  • 插件生态继承了 JetBrains 全家桶,Code With Me、Continue 这类插件都能装上

说实话,如果你主要写 C/C++,而且项目是 CMake 组织的,换到 CLion 的适应成本非常低。它不是什么“祖师爷级”的高深工具,就是一个该有的功能都有、索引顺手、调试不闹心的 IDE。

2. 下载与安装:2025 年亲测可用的完整流程

2.1 下载渠道与版本选择

下载只有一个推荐渠道:JetBrains 官网,或者 JetBrains 中文官网。你直接搜索“JetBrains CLion”就能找到官方站点,不要从第三方下载站取安装包,那些捆绑了推广软件和恶意插件的包多到你无法想象。

安装方式上,官网给你两个选择:一个是 JetBrains Toolbox 工具,一个是单独的安装包。我的建议很明确:如果你电脑上不止一个 JetBrains IDE,比如还装了 IDEA、PyCharm、GoLand 这类,直接用 Toolbox。它能统一管理所有 IDE 的安装、升级、回滚,还能同步插件和主题配置,特别省心。如果只是偶尔用一下 CLion,可以下独立安装包,体积小一些,安装也简单。

版本选择方面,2025 年在维护的版本主要是 2025.1 系列。CLion 的新版本通常每年发布两到三个小版本,老版本会持续收到安全补丁。新用户不用纠结,直接下当前最新稳定版,不要碰 EAP 早期预览版,那是给喜欢踩坑的人准备的。

2.2 Windows 安装图文要点

Windows 下安装很简单,但有几个界面细节我单独提一下,避免你装完找不到人问。

第一步,双击下载好的安装包,选择安装目录。默认路径是C:\Program Files\JetBrains\CLion 2025.1,建议保持默认,或者改成纯英文路径,不要让路径里出现中文。

第二步,安装界面会让你选择是否创建桌面快捷方式、是否更新 PATH 环境变量。PATH 那一项默认是不勾选的,我建议勾上。之后你在命令行里执行clion就能直接打开 IDE,方便很多。

第三步,安装完成后打开 CLion,会进入一个“Import Settings”界面,询问你是否从旧版本导入配置。如果是全新安装,选择“Do not import settings”,直接进全新环境。之后它会要求你登录 JetBrains 账号,你可以用邮箱注册一个,然后选择“Start trial”开始 30 天全功能试用。

这里有个小提示:JetBrains 账号登录失败时,多半是网络原因,请检查一下当前网络环境是否正常,不要反复重试,等几分钟再试。此外,如果安装过程中触发了杀毒软件拦截,选择信任即可,官方安装包不会有问题。

2.3 macOS 与 Linux 安装要点

macOS 安装就更简单了,下载 dmg 文件,双击后把 CLion 图标拖到 Applications 文件夹就算装好了。首次打开时如果提示“无法验证开发者”,去系统设置 -> 隐私与安全性,允许从“App Store 和被认可的开发者”运行。打开后同样需要登录账号激活试用。

Linux 上建议直接下 tar.gz 包,解压到自己喜欢的目录,比如~/apps或者/opt,然后执行bin/clion.sh启动。如果你想在桌面环境里加个启动图标,官方文档里也有 .desktop 文件示例。相比 Windows,Linux 下更要注意的是依赖库,比如libxrenderlibxtst这些缺失会导致 IDE 启动到一半卡死,用发行版自带的包管理器安装就行。

装完以后,接下来最重要的一步就是配置工具链。工具链配置错了,你会遇到“找不到编译器”“构建失败”之类的一系列问题。

3. 第一次打开:工具链配置与第一个程序

3.1 工具链选型:MinGW-w64、MSVC 还是 WSL

CLion 自己不内置编译器,它只是一个壳,真正干活的是你系统中安装的编译器、调试器、CMake 这些工具。所以第一次打开 CLion,你首先要做的不是建项目,而是确认工具链。

在 Windows 上,你有三个主流选择:MinGW-w64、MSVC、WSL。

  • MinGW-w64:Windows 下最常用的 GCC 移植版,适合绝大多数 C/C++ 练习、跨平台开发和开源项目编译。安装方式推荐用 MSYS2。
  • MSVC:Visual Studio 的 C/C++ 编译器,适合需要调用 Windows API、或者要兼容已有 Visual Studio 工程的场景。装了 Visual Studio 或 Build Tools 后,CLion 可以自动检测到。
  • WSL:适合开发在 Linux 上运行的程序,CLion 对 WSL 工具链支持已经很成熟,但需要你额外安装 WSL,对新手稍微复杂一点。

如果你不确定选哪个,我建议新手机器直接用 MinGW-w64。原因很简单:安装轻量、兼容性好、配合 GDB 调试器使用没有额外障碍。MSVC 的链接器和调试器在某些 CMake 场景下会和 CLion 有兼容问题;WSL 虽然适合 Linux 开发,但新手很容易在路径和权限上卡住。

MinGW-w64 的具体安装办法,我用的是 MSYS2:

  1. 去 MSYS2 官网下载安装包,安装到默认路径C:\msys64
  2. 打开 MSYS2 终端,执行pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja make
  3. 确认安装完成后,把C:\msys64\ucrt64\bin加到系统 PATH 环境变量里

然后回到 CLion,打开 File -> Settings -> Build, Execution, Deployment -> Toolchains,点加号添加 MinGW。CLion 会自动检测gccg++gdbcmake的路径,检测失败时手动指向ucrt64/bin目录。检测成功的界面会显示编译器、调试器、Make、CMake 的版本信息,第一次看到这些全绿的时候,说明工具链已经通了。

3.2 创建并运行第一个 C 语言项目

工具链通了以后,建项目就非常顺滑了。File -> New Project,左侧选择 C Executable,右侧选好项目路径和项目名,Language standard 这里先选 C11,后面有需要再改。CLion 会自动生成一个简单的main.c文件,内容是一段打印 Hello World 的代码。

直接点右上角的绿色运行按钮,CLion 会做三件事:CMake 重新加载项目,执行构建,然后运行生成的可执行文件。底部 Run 窗口会输出 Hello, World!。这个流程看着简单,但里面其实藏着 CLion 的核心逻辑:所有项目构建都以 CMake 为基底,CMakeLists.txt 是项目的“灵魂文件”。你在 CLion 里添加文件、修改编译选项,最终都要落在 CMakeLists 上。

如果你是第一次用,建议花两分钟打开自动生成的CMakeLists.txt看看,它长这样:

cmake_minimum_required(VERSION 3.25) project(hello C) set(CMAKE_C_STANDARD 11) add_executable(hello main.c)

看懂这三行就足够入门了:第一行指定 CMake 最低版本,第二行是项目名,第三行把main.c编译成一个名为 hello 的可执行程序。之后你每往工程里加一个.c文件,都要在这里补一行add_executable或者用add_library定义新目标。

3.3 中文输出乱码的三种解法

中文乱码是初学者最常遇到、也是最容易劝退人的问题。在 2025 年的 CLion 上,乱码来源基本有两种:一种是源文件里的中文字符串在编译后被编译器以错误编码读取,导致二进制里存的就不是你写的中文;另一种是控制台输出的代码页和你程序输出的编码不一致,让原本正确的中文在终端里显示成乱码。

解决方案按我的习惯排列:

第一种,统一项目编码为 UTF-8。打开 File -> Settings -> Editor -> File Encodings,把 Global Encoding、Project Encoding、Properties Files 三个都改成 UTF-8。这能解决绝大多数“源码里注释变乱码”的问题。

第二种,处理 Windows 控制台代码页。Windows 的老式终端默认代码页是 GBK(936),而 UTF-8 是 65001。在程序里调用 Windows APISetConsoleOutputCP(CP_UTF8);可以强制让控制台按 UTF-8 输出。记得引入<windows.h>,并且只在 Windows 上使用。

#include <stdio.h> #ifdef _WIN32 #include <windows.h> #endif int main(void) { #ifdef _WIN32 SetConsoleOutputCP(CP_UTF8); #endif printf("你好,CLion\n"); return 0; }

第三种,给编译器加编码参数。GCC 下默认输入编码就是 UTF-8,所以一般不是编译器读错了,但如果你的源码文件是 GBK 或别的编码,可以在 CMakeLists.txt 里加一句add_compile_options(-finput-charset=GBK -fexec-charset=UTF-8),强制告诉编译器源文件以什么编码读、输出以什么编码存。MSVC 对应的是/utf-8参数。

实际测试下来,Windows 上最新 2025 版本的 CLion 运行窗口对 UTF-8 的支持已经比前几年好很多,但如果你用的是一个老的 Windows 控制台,或者某些第三方终端,上面的第二种方法最保险。

4. 高频场景实战:多目标、插件、sln 与 JNI

4.1 同一个 CMake 工程调试多个目标程序

很多新人一开始只会建单个可执行文件的项目,但实际项目里往往一个仓库包含好几个程序,比如一个服务端、一个客户端,或者一个主程序加几个工具程序。如果你在 CMakeLists.txt 里连续写多个add_executable,CLion 会在 Run Configurations 里自动生成对应的运行配置,你可以在右上角的下拉框里切换要运行哪一个。

举个例子,项目里有两个可执行文件:

add_executable(server server.c) add_executable(client client.c)

这时候 Run/Debug Configurations 下拉菜单里会同时出现 server 和 client 两个配置,选好目标后点调试按钮,CLion 会给这个目标启动 GDB 调试会话。

如果你希望一次点击同时启动多个程序,CLion 提供 Compound 配置。打开 Run -> Edit Configurations,点左上角加号,选择 Compound,然后在右侧把 server 和 client 的配置都添加进去,保存后运行这个 Compound 配置,两个程序会一起被启动。这在调试联调场景里非常好用,不用来回切换启动顺序。

有一个细节需要注意:如果改完 CMakeLists.txt 后新增的 target 没有出现在下拉框里,千万不要直接硬点运行。去右侧工具栏点一下 CMake 的加载按钮,或者按提示点 Load Changes,让 CMake 重新生成一次构建索引,target 列表才会刷新。

4.2 插件商店搜不到 Continue 怎么办

Continue 是一个 AI 编程助手插件,很多人习惯在 CLion 里用它辅助写代码。但的确有朋友反馈,在插件商店里搜 continue 搜不出东西,甚至搜索得到但点装一直转圈。这个问题的原因通常有三个:插件市场索引没更新、网络环境受限、插件与当前 CLion 版本的兼容性列表还没同步。前两个和插件本身无关,第三个多发生在刚发布的新 IDE 版本上。

我的解决办法是手动安装:去 JetBrains 插件市场网站,搜索 Continue,在插件详情页选择与你当前 CLion 版本匹配的版本,下载 zip 压缩包。然后回到 CLion,打开 File -> Settings -> Plugins,点右上角齿轮图标,选择 Install Plugin from Disk,选中下载好的 zip,重启 IDE 即可。

有些朋友直接从插件官网下载的 zip 版本较老,装完提示不兼容,那是因为 IDE 版本和插件版本不匹配。2025 年主流的 CLion 2025.1 系列需要插件声明支持到该版本以上,下载时注意看版本要求。另外提一句,不要在非官方渠道下载插件 zip,你根本不知道压缩包里除了插件还夹了什么脚本。

4.3 用 CLion 打开 Visual Studio 的 sln 工程

这个问题偶尔会有人问:同事用 Visual Studio,项目是.sln解决方案,自己电脑没装 VS,能不能用 CLion 打开?

可以,但 CLion 不是直接原生解析 sln,而是通过内置的转换向导把 Visual Studio 工程转成 CMake 工程。操作方法是 File -> Open,文件类型选择 All Files,找到.sln文件打开,CLion 会弹窗提示“Do you want to create CMake project from the Visual Studio project”,确认后它会自动分析 vcxproj 结构并生成对应的 CMakeLists.txt。

这里有几个坑要提前说:

  • sln 工程如果需要 Windows SDK、MFC 或一些 VS 专属库,CLion 本身不包含这些,你需要额外安装 Visual Studio Build Tools,并且在 Toolchains 里选择 MSVC 编译器
  • 多项目解决方案转换后可能只保留了主项目,或者项目依赖关系不对,需要手动在 CMakeLists.txt 里调整
  • 如果 sln 工程里有 NuGet 包引用,Clion 不会自动还原 NuGet 包,你得先用 VS 或命令行把这些包还原到本地,再用 CLion 打开转换后的工程

所以我的建议是:如果只是临时看看代码、改点逻辑,用 CLion 打开 sln 是可以的;但如果要做完整构建和调试,并且工程重度依赖 VS 生态,还是装一个 Visual Studio 更省心。把 sln 转换为 CMake 这步本身不复杂,麻烦的是后面的依赖修正。

4.4 在 CLion 中配置 JNI 环境并跑通调用

JNI 是 Java Native Interface,用来在 Java 里调用 C/C++ 动态库。这类需求在音视频处理、硬件控制、性能敏感的算法模块里很常见。CLion 作为 C/C++ 开发环境,配合 JNI 开发需要额外配置,我把 2025 年验证可行的一套流程写出来。

前提条件是已经安装 JDK,并配置好JAVA_HOME环境变量。Windows 下建议安装在纯英文路径的目录里,否则后面的 CMake 查找 JDK 头文件时,路径中含有空格或中文会导致解析失败。

第一步,编写一个 Java 文件,声明 native 方法:

public class JNIDemo { static { System.loadLibrary("jnidemo"); } public native String greet(String name); public static void main(String[] args) { JNIDemo demo = new JNIDemo(); System.out.println(demo.greet("CLion")); } }

第二步,在命令行执行以下命令,生成 C 头文件:

javac -h . JNIDemo.java

执行完会生成一个JNIDemo.h,里面声明了Java_JNIDemo_greet这个函数。不要手动改这个头文件,它是由 JVM 的命名规则固定下来的,方法签名变了就必须重新生成。

第三步,写 C 实现:

#include <jni.h> #include <stdio.h> #include "JNIDemo.h" JNIEXPORT jstring JNICALL Java_JNIDemo_greet(JNIEnv *env, jobject obj, jstring name) { const char *nativeName = (*env)->GetStringUTFChars(env, name, NULL); char buffer[128]; snprintf(buffer, sizeof(buffer), "Hello, %s from JNI", nativeName); (*env)->ReleaseStringUTFChars(env, name, nativeName); return (*env)->NewStringUTF(env, buffer); }

第四步,写 CMakeLists.txt:

cmake_minimum_required(VERSION 3.25) project(jnidemo C) set(CMAKE_C_STANDARD 11) find_package(JNI REQUIRED) include_directories(${JNI_INCLUDE_DIRS}) add_library(jnidemo SHARED JNIDemo.c)

第五步,在 CLion 里 Reload CMake 项目并构建。Windows 下会生成jnidemo.dll,Linux 生成libjnidemo.so,macOS 生成libjnidemo.dylib。最后运行 Java 程序时,需要告诉 JVM 动态库在哪个目录:

java -Djava.library.path=build目录路径 JNIDemo

如果启动时报UnsatisfiedLinkError,优先检查java.library.path是否指向了动态库所在目录。动态库文件名和System.loadLibrary里的名字必须匹配,Windows 不需要加.dll后缀,但文件名必须一致。

5. 嵌入式开发:用 CLion 开发 STM32

5.1 嵌入式工具链的安装与识别

CLion 从 2023 年开始就内置了嵌入式开发支持,2025 年这块已经相当成熟。使用 CLion 开发 STM32 需要准备四样东西:STM32CubeMX 或者 STM32CubeCLI、ARM 交叉编译工具链、OpenOCD 调试下载工具、ST-Link 驱动。

ARM 工具链推荐直接安装 ARM GNU Toolchain,官方提供 Windows 安装包,装完把 bin 目录加入 PATH。这个名字容易和系统里已有的 gcc 混淆,但它的可执行文件名是arm-none-eabi-gcc,在 CLion 里配置时不会认错。

OpenOCD 用来烧录和调试。Windows 下安装包解压后,把目录加入 PATH,CLion 在配置调试器时会自动检测到。ST-Link 是 STM32 的调试器,很多开发板已经板载了 ST-Link,插上 USB 后如果设备管理器里看不到 ST-Link,说明驱动没装对,去 ST 官网下载 ST-Link 驱动安装。

CLion 的 Toolchains 设置里,新建一个类型为 Embedded 的工具链,编译器前缀指定为arm-none-eabi-,CLion 会自动识别arm-none-eabi-gccarm-none-eabi-gdb。设置完成后,CLion 会为嵌入式项目单独组织构建和调试流程,不再需要本机的 GCC。

5.2 创建 STM32 工程并完成烧录调试

创建工程有两条路:一条是在 CLion 里直接新建 STM32CubeMX 工程,前提是电脑上已安装 STM32CubeMX 并且 IDE 能识别到;另一条是在 STM32CubeMX 里先配置芯片引脚和时钟,生成 CMake 工程后再用 CLion 打开。我实际更推荐后者,因为 CubeMX 的图形化引脚配置对新手更友好,能减少初始化代码出错的概率。

在 CubeMX 里生成工程时,Toolchain 那一栏选择 CMake,生成完成后目录里会有.ioc文件、核心初始化代码和 CMakeLists.txt。CLion File -> Open 打开这个目录,选择顶部 CMakeLists.txt 作为项目导入,确认工具链是 Embedded 类型,加载完就能编译了。

编译通过后,接下来是烧录和调试。打开 Run -> Edit Configurations,添加一个 Embedded GDB Server 配置,调试器选择 OpenOCD。OpenOCD 的配置文件要根据你的开发板填写,比如 ST-Link 加 STM32F1 系列一般用:

interface/stlink.cfg target/stm32f1x.cfg

板卡型号不同,配置文件也不同。很多开发板厂商提供了 OpenOCD 的 board 级配置文件,格式类似board/st_nucleo_f103rb.cfg,选择那个更省事。

点 Debug 后,CLion 会启动 OpenOCD,连接 ST-Link,然后通过 GDB 加载调试。如果出现Error: open failed,通常是 ST-Link 被其他软件占用,比如 CubeProgrammer 还开着,先关闭再重试。如果出现target not halted,检查板子供电、复位电路和 SWD 接线。CLion 的嵌入式调试体验已经接近专业嵌入式 IDE,断点、变量监控、寄存器查看都能用,日常开发完全够用。

6. 常见问题速查与避坑总结

6.1 高频问题排查表

把这两年我在 CLion 里遇到的高频问题整理成一张速查表,遇到问题先翻这里,比重新搜索一圈效率高得多。

问题常见原因解决办法
CMake 报错找不到编译器Toolchains 没有配置或路径错误Settings -> Toolchains,重新指定 gcc/g++/gdb 路径
运行结果窗口一闪而过程序正常退出,控制台自动关闭用 CLion 的 Run 窗口查看,或程序末尾加 getchar()
中文字符串输出乱码编码不统一统一项目编码为 UTF-8,Windows 下设置 SetConsoleOutputCP(CP_UTF8)
插件市场搜不到插件索引未同步或网络受限去 JetBrains 插件市场官网下载 zip,Install Plugin from Disk
打开 sln 工程后构建失败依赖库或 NuGet 包缺失用 VS 工具链编译,先还原 NuGet 包再转换
多个 target 下拉框找不到新程序CMake 没有重新加载点右侧 Load Changes 重新加载 CMake 项目
GDB 断点不生效编译类型不是 Debug,或没加调试符号确保 Build Type 为 Debug,检查 CMake 是否带-g参数
嵌入式烧录失败ST-Link 驱动或占用问题重插 ST-Link,关闭 CubeProgrammer,检查设备管理器
提示 MSVCP140.dll 缺失缺少 VC++ 运行库安装 Visual C++ Redistributable
项目文件夹中文路径编译器或 CMake 解析问题项目路径改成全英文

6.2 我重复踩过的几个坑

最后说几个我在实际操作中踩过、而且不止一次的坑。

第一,路径问题永远排第一。CLion 对环境变量和路径中的中文、空格极其敏感,尤其是 Windows 下的 MinGW 工具链,如果用户名目录带中文,GDB 经常会在加载符号时出各种奇奇怪怪的错。解决方案就是从一开始就把工具链装到纯英文路径,工程目录也保持全英文,省去后面所有麻烦。

第二,改完 CMakeLists.txt 后一定要记得 Reload。CLion 常规状态下会自动提示加载更改,但如果你手动改了外层 CMakeLists 或者改动了源代码目录结构,有些依赖 CMake 缓存的新目标不会立刻出现。旧版本偶尔还会出现“配置过期但是没提示”的情况,所以我会习惯性在改完 CMakeLists 后按一下右上角的刷新按钮,比依赖自动提示更稳。

第三,授权的问题。CLion 确实不便宜,官网全价对个人开发者来说是一笔开销。但 JetBrains 官方为学生提供了免费教育授权,用学校邮箱就能申请;开源项目作者也可以申请免费许可。30 天全功能试用对评估一个项目也基本够用。网上很多所谓的“破解版”其实是加料版,轻则弹广告重则种后门,为了省几百块钱把开发机搞到中毒,实在不值得。

我个人现在的操作习惯是,所有 JetBrains 工具的编译器路径、CMake 路径和编码设置都固定成同一套模板,换新电脑后用 Toolbox 登录账号同步一次配置,五分钟就能恢复到原来的工作环境。如果你刚接触 CLion,先从一个小到只有两个文件的 C 项目开始,把“工具链 -> CMake -> 构建 -> 调试”这条链路跑通,再慢慢加复杂功能,整个过程会顺利很多。

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

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

立即咨询