clion 本身不自带编译器,必须显式配置 linux 编译环境,核心是让 clion 找到 gcc、g++、cmake 和 gdb 的路径;未配对则新建项目报“cmake error: no cmake_c_compiler could be found”。

CLion 本身不自带编译器,必须显式配置 Linux 编译环境——无论是本地 Linux、WSL2、远程服务器,还是交叉编译目标,核心都是让 CLion 找到 gcc、g++、cmake 和 gdb 这四个可执行文件的路径。没配对,新建项目就报“CMake Error: No CMAKE_C_COMPILER could be found”。
本地 Linux 系统直接运行 CLion
这是最轻量的方式:CLion 安装在 Ubuntu/Debian/Fedora 等原生 Linux 上,直接调用系统工具链。
- 确保已安装基础构建套件:
sudo apt install build-essential cmake gdb(Ubuntu/Debian)或sudo dnf install gcc-c++ cmake gdb(Fedora) - 验证关键命令可用:
gcc --version、cmake --version、gdb --version都应正常输出 - CLion 启动后通常自动检测到
/usr/bin/gcc等路径;若未识别,在Settings | Build, Execution, Deployment | Toolchains中手动指定gcc、g++、gdb的完整路径(如/usr/bin/gcc) - 注意:不要混用不同来源的
cmake(比如 Snap 安装的 cmake 可能权限受限),优先用包管理器安装的版本
Windows 下用 WSL2 当 Linux 编译环境
这是目前 Windows 用户最推荐的方案:避免虚拟机开销,又获得完整 Linux 工具链,CLion 原生支持 WSL 工具链类型。
- 先在 Windows 中启用并安装 WSL2(如 Ubuntu 24.04),运行
wsl -l -v确认状态为Running - 在 WSL 内安装编译器:
sudo apt update && sudo apt install build-essential cmake gdb - CLion 中进入
Settings | Toolchains→ 点+→ 选WSL,它会自动列出已安装的 WSL 发行版并尝试探测工具路径 - 如果自动探测失败(常见于自定义 WSL 安装路径),手动展开 “Advanced settings”,把
CMake、Compiler、Debugger的路径分别设为/usr/bin/cmake、/usr/bin/gcc、/usr/bin/gdb - 关键点:项目路径建议放在 WSL 文件系统内(如
/home/username/myproject),而非 Windows 挂载路径(/mnt/c/...),否则 CMake 生成和调试可能出错
远程 Linux 服务器(SSH)编译
适合需要在特定服务器环境(如带 GPU、特定内核、生产级依赖)下构建的场景,但对网络稳定性要求高。
- 服务器需提前安装好
gcc、cmake、gdb、openssh-server,并开放 22 端口 - CLion 中添加 Toolchain:选
Remote Host→ 填写 IP、端口、用户名、密码(或密钥)→ 测试连接成功后,手动指定远程路径:/usr/bin/gcc、/usr/bin/cmake等 - 必须配置
Deployment:设置远程同步根目录(如/home/user/clion-projects/myapp),否则代码不会上传,CMake 加载直接失败 - 常见坑:
CMakeLists.txt中用了绝对路径或硬编码本地头文件,同步过去后找不到;建议全部用相对路径 +include_directories()或target_include_directories() - 首次加载 CMake 会较慢(需上传整个项目并远程执行 configure),后续增量构建快很多
CMake 配置必须匹配工具链
Toolchain 配好了,CMake 不跟着切,照样编译失败。
- 进
Settings | Build, Execution, Deployment | CMake,把Toolchain下拉菜单切换成你刚配好的那个(比如 “WSL Ubuntu” 或 “Remote Host myserver”) -
Build type推荐选Debug(默认),生成带调试信息的二进制;发布时再切Release - 如果项目用 Ninja(比 Make 快),需在远程/WSL 中也装好:
sudo apt install ninja-build,并在 CMake 设置里把Generator改成Ninja - 修改 CMake 配置后,务必点击右上角
Reload project按钮(或按Ctrl+Shift+O),否则改动不生效
最容易被忽略的是:CLion 的 Toolchains、CMake、Deployment(远程场景)三处配置必须指向同一套环境,且路径全部可访问。少一个环节,就会卡在 “No CMAKE_CXX_COMPILER could be found” 或 “Connection refused” 上,而不是代码问题。











