clion 本身不带编译器,必须手动指定可用 c 编译器(如 gcc),否则运行报“cannot run program 'gcc'”;需先执行 gcc -v 确认已安装且 path 正确,再在 settings → toolchains 中手动配置 c/c++ 编译器及调试器路径,并点击刷新图标重载 cmake 项目。

Clion 本身不带编译器,必须手动指定一个可用的 C 编译器(比如 gcc),否则点击运行会直接报错“Cannot run program 'gcc'”或“Toolchain is not configured”。
怎么确认系统里已有可用的 gcc
别跳过这步——很多问题其实出在编译器压根没装好或没进 PATH。
- 打开终端(Windows 用 cmd/PowerShell,macOS/Linux 用 Terminal),执行:
gcc -v - 如果返回版本信息(比如
gcc version 13.1.0 (MinGW-W64 ...)),说明已安装且可被系统识别 - 如果提示
'gcc' is not recognized或command not found,说明要么没装,要么路径没加进环境变量 - Windows 用户常见坑:装了 TDM-GCC 或 MinGW-w64,但只解压没配
PATH;或者配了PATH却忘了重启终端/CLion
CLion 里怎么选对 Toolchain(关键配置项)
不是点“自动检测”就完事。CLion 可能扫到多个工具链(比如你同时装了 MSVC 和 MinGW),但它默认选的未必是你要的 C 编译器。
- 进入
File → Settings → Build, Execution, Deployment → Toolchains(macOS 是CLion → Preferences) - 在
C Compiler栏手动填入完整路径,例如:C:\msys64\mingw64\bin\gcc.exe(Windows)或/usr/bin/gcc(macOS/Linux) - 确保
C++ Compiler和Debugger也指向对应工具链下的g++和gdb(哪怕你只写 C,CLion 内部仍依赖 C++ 工具链做构建) - 别用
CMAKE_CXX_COMPILER这类 CMake 变量去覆盖——CLion 的 Toolchain 配置优先级更高,硬塞变量反而容易冲突
为什么 main.c 能编译但中文输出乱码
这不是编译问题,是 CLion 控制台编码和源文件编码不一致导致的,尤其 Windows 下高频发生。
- 先统一源码编码:右下角状态栏点击当前编码(如
GBK),选Convert to UTF-8,并勾选Transparent native-to-ascii conversion - 再改控制台输出编码:进入
Settings → Editor → File Encodings,把Global Encoding、Project Encoding、Default encoding for properties files全设为UTF-8 - Windows 用户额外注意:终端本身默认是 GBK,CLion 的
Run窗口会继承它;可在Help → Edit Custom Properties里加一行:console.encoding=UTF-8,然后重启 CLion
运行后提示 CMake Warning: Manually-specified variables were not used
这个警告可以安全忽略,它只是说你传给 CMake 的某些变量(比如 CMAKE_CXX_COMPILER)没被当前 CMakeLists.txt 用上,并不影响 gcc 实际编译 C 代码。
- 真正要盯的是编译日志里有没有
error:开头的红字,以及最终是否生成了cmake-build-debug/xxx.exe(Windows)或可执行文件 - 如果你用的是空项目模板,CLion 自动生成的
CMakeLists.txt默认只认main.cpp;写 C 时务必把add_executable的源文件改成main.c,否则会链接失败 - macOS 上若遇到
ld: library not found for -lstdc++,说明你误用了 C++ 工具链编译纯 C 文件——回到 Toolchain 设置,确认C Compiler指向gcc而非g++
最常被跳过的动作:改完 Toolchain 后没点右上角的 Reload CMake project(小刷新图标),或者没重新生成构建目录。CLion 不会热更新编译器路径,必须手动触发重载。
13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!











