CLion创建项目后无CMake,主因是模板选错(如选了Empty Project)、CMakeLists.txt缺失或不在项目根目录、环境变量丢失(尤其ROS场景);需重选C++ Executable模板、确保根目录含正确CMakeLists.txt并手动加载。

CLion 创建项目后没有 CMake,说明它根本没识别到构建系统——不是“没配好”,而是压根没触发 CMake 配置流程。 常见于新建项目时类型选错、CMakeLists.txt 缺失或位置不对、或者 CLion 启动方式导致环境变量丢失(尤其 ROS 场景)。
新建项目时选错了模板
CLion 不会自动给任意文件夹加 CMake 支持。如果你点了 “New Project” 却选了 “Empty Project” 或 “Pure Python”,那生成的目录里压根不会有 CMakeLists.txt,也不会启动 CMake 配置。
- 必须选左侧的
C++ Executable(或C++ Library、Qt Widgets Application等带 CMake 的模板) - 选错后补救:删掉当前项目文件夹,重新 New Project → 严格选
C++ Executable - 别指望右键 main.cpp “Add to CMake” —— CLion 没有这个功能;它只响应根目录下的
CMakeLists.txt
CMakeLists.txt 不存在或不在根目录
CLion 只认你通过 File | Open 打开的那个文件夹最顶层的 CMakeLists.txt。如果它在 src/CMakeLists.txt 或 build/CMakeLists.txt,CLion 就当它不存在。
- 检查项目根目录(即你打开的文件夹)下是否有
CMakeLists.txt;没有就手动创建一个,内容至少包含:
cmake_minimum_required(VERSION 3.20) project(MyApp) add_executable(MyApp main.cpp)
- 如果已有项目但结构混乱,不要用
Add Content Root,而是关掉项目 →File | Close Project→ 再File | Open选对根目录 - ROS 项目还要额外确认:
source devel/setup.bash是否已执行?否则find_package(catkin REQUIRED)会直接失败,且不提示具体原因
CLion 没找到 cmake 可执行文件
报错 “Cannot find CMake” 或 CMake 工具窗口空白,基本等于系统 PATH 里没暴露 cmake,或者版本太低。
- Windows:命令行运行
cmake --version,若报“不是内部或外部命令”,重装 CMake 并勾选Add CMake to the system PATH - macOS:终端跑
which cmake,应返回/opt/homebrew/bin/cmake(Apple Silicon)或/usr/local/bin/cmake(Intel);否则在Settings | Build, Execution, Deployment | CMake里手动指定路径 - Linux(Ubuntu/Debian):
apt install cmake装的是 3.10,CLion 2023.3+ 推荐 ≥3.20,建议用sudo snap install cmake --classic或官网二进制包 - 版本验证:在 Settings 页面看
CMake executable路径,再终端里跑一遍path/to/your/cmake --version,确保 ≥3.15
配置已存在但 CMake 窗口消失或不响应
有时 CMake 工具窗口被关闭、缓存损坏,或项目状态异常,导致 CMake 功能“隐身”。
- 先试右键
CMakeLists.txt→Load CMake Project - 仍无效:点击
File | Invalidate Caches and Restart...→ 选Invalidate and Restart - 重启后若仍无反应,检查右下角是否有黄色提示条 “Reload CMake project”;点它,别等自动 reload
- 极少数情况(如 NFS 挂载、杀毒软件拦截),需在
Settings | Build | CMake关闭Automatically reload CMake project on changes,改用手动 reload
最容易被忽略的其实是路径和环境变量的“双重失效”:比如你在桌面快捷方式启动 CLion,它就没加载 .zshrc 或 .bashrc 里的 PATH 和 source 命令——这时候即使终端里 cmake --version 正常,CLion 也看不见。


















