cmake --version 是唯一可靠、跨平台的标准命令,执行后直接输出当前安装的 cmake 版本号;官方明确要求所有 3.0+ 版本均支持该写法,而 cmake -version 等变体已废弃且在 powershell 等环境中易报错。

cmake --version 是唯一可靠、跨平台的标准命令,执行后直接输出当前安装的 CMake 版本号。其他变体(比如 cmake -version 或 cmake version)在部分旧版本或 Windows PowerShell 中可能报错或不识别。
为什么 cmake --version 是唯一推荐方式
这是 CMake 官方文档明确规定的标准用法,所有 3.0+ 版本均支持;-version(单短横)仅在极少数旧发行版中兼容,但已废弃;Windows 上 PowerShell 有时会把 cmake -version 解析为 PowerShell 参数而非 CMake 命令,导致报错 The term 'cmake' is not recognized 或 Unknown argument -version。
执行后没反应或报“command not found”怎么办
- 先确认是否真的安装成功:Linux/macOS 运行
which cmake,Windows 运行where cmake;返回空说明没进 PATH - 常见漏点:Windows 安装 MSI 时没勾选 “Add CMake to the system PATH for all users”;Ubuntu 用
sudo apt install cmake装完却仍报错,大概率是 shell 缓存未刷新,试hash -r或新开终端 - macOS 用 Homebrew 安装后路径通常是
/opt/homebrew/bin/cmake,需确保该路径在$PATH中(检查echo $PATH)
Qt Creator 或 VS Code 里看到的版本和终端不一致
这类 IDE 往往会自己配置一套 CMake 路径(比如 Qt Creator 的 “Kits → CMake” 页面),它读取的是你手动指定的可执行文件路径,不是系统默认的 cmake。此时 cmake --version 在终端输出的版本,只反映命令行环境下的实际版本;IDE 内部用的可能是另一份独立安装(如 Qt 自带的 CMake),必须进 IDE 设置里单独查看或切换。
真正容易被忽略的是:CMake 的版本判断逻辑只认 cmake_minimum_required(VERSION X.Y) 中的数字,而这个“X.Y”必须 ≤ 你运行 cmake --version 得到的实际版本号——哪怕只差 0.1,也会在 configure 阶段直接失败,错误信息是 CMake Error at CMakeLists.txt:1 (cmake_minimum_required): CMake 3.28.0 or higher is required. 这类提示不会告诉你当前装的是啥,得靠你自己先跑一遍 cmake --version 对齐。











