新建cmake项目时location必须指向wsl或远程linux真实路径(如/home/user/myproject),不可用windows路径;工具链须手动绑定对应wsl/远程条目,并验证连接、cmake版本≥3.19及ninja等依赖已安装。

直接用 CMake 项目模板创建,路径选 WSL 或远程 Linux 目录即可,别用默认 Windows 路径。
新建项目时 Location 必须指向 Linux 环境
CLion 创建新项目本质是生成 CMakeLists.txt 并初始化构建目录,如果 Location 填的是 C:\myproject 这类 Windows 路径,后续所有编译、调试都会失败——因为工具链指向的是 WSL 或远程 Linux,它根本看不到 Windows 文件系统(除非显式挂载)。
- 用 WSL 开发:Location 填类似
/home/username/myproject(在 WSL 中真实存在的路径) - 用远程 Linux:Location 填空文件夹路径,比如
/tmp/clion-project,CLion 会自动同步源码过去 - 别依赖“自动创建目录”按钮——它可能建在 Windows 侧,要手动在 WSL 终端或远程 SSH 中先
mkdir -p ~/myproject再填进去
CMake 配置必须绑定对应工具链
新建完项目后,CMake 设置里 Toolchain 下拉框必须选中你已配置好的 WSL 或远程主机条目。否则 CLion 会默认用 Windows 本地的 MinGW 或未安装的工具链,报错 Cannot find CMAKE_CXX_COMPILER 或直接卡在 “Loading CMake project…”。
- 检查路径是否可访问:点开工具链设置里的齿轮图标 →
Test Connection,确保能连上 - 确认远程 CMake 版本 ≥ 3.19(旧版对
find_package支持不全),运行cmake --version验证 - 如果用了 Ninja 生成器,远程需提前
sudo apt install ninja-build,否则 CMake configure 阶段直接失败
第一次 Build 前务必检查部署映射
尤其是远程开发场景,Build → Build Project 实际触发的是远程 cmake && make,但源码得先传上去。这个动作依赖 Deployment 设置里的路径映射是否生效。
- 打开
Settings → Build, Execution, Deployment → Deployment - 确认已添加 SFTP 条目,且
Local path指向你新建项目的根目录(Windows 路径),Deployment path是远程对应路径(如/home/user/myproject) - 勾选
Upload files automatically,否则改了代码也不会同步,编译永远是旧版本 - 右键项目根目录 →
Deploy to <name></name>可手动触发一次同步,避免首次 build 报No such file or directory
最常被忽略的是:WSL 或远程环境里缺失 build 目录权限,或 CMakeLists.txt 里写了硬编码的 Windows 路径(比如 include_directories("C:/xxx")),这类问题不会在 IDE 里高亮,只会在 CMake configure 阶段静默失败。建议新建项目后,先在终端里手动 cd 进去跑一遍 cmake . && make,验证基础环境是否真通。











