Cygwin安装CMake后提示Could not find CMAKE_ROOT的问题求助
Cygwin下CMake版本报错“Could not find CMAKE_ROOT”的解决方法
问题描述
通过Cygwin安装程序分别安装了CMake 3.28.3和3.25.3版本,但执行/bin/cmake --version时均出现如下错误:
CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modules directory not found in /share/cmake-3.28.3 cmake version 3.28.3 CMake suite maintained and supported by Kitware (kitware.com/cmake).
3.25.3版本的错误信息类似,对应路径为/share/cmake-3.25.3。
系统信息:
$ uname -a CYGWIN_NT-10.0-19045 xxx 3.5.3-1.x86_64 2024-04-03 17:25 UTC x86_64 Cygwin
已尝试重启Cygwin和操作系统,问题仍未解决。
问题原因
核心原因是CMake无法定位到其核心模块目录,常见触发场景包括:
- Cygwin安装过程中CMake的模块文件未完整解压或安装,导致
/share/cmake-<version>目录下缺失Modules子目录 - 系统权限异常,CMake无法读取
/share/cmake-<version>路径下的文件 - Cygwin路径映射或文件系统出现临时异常
解决方法
1. 检查模块目录是否存在
先通过命令确认目标路径下的目录结构:
ls -la /share/cmake-3.28.3/
如果输出中没有Modules文件夹,说明安装不完整,需重新安装对应版本。
2. 重新安装CMake(推荐方案)
打开Cygwin安装程序(setup-x86_64.exe):
- 搜索
cmake包,找到对应版本(3.28.3或3.25.3) - 先选择
Uninstall卸载当前版本,完成后点击下一步 - 重新选择
Install安装对应版本,确保安装过程无报错
3. 手动指定CMAKE_ROOT环境变量
如果模块目录实际存在但CMake无法识别,可临时设置环境变量测试:
export CMAKE_ROOT=/share/cmake-3.28.3
执行后再次运行cmake --version验证。若需永久生效,将该命令添加到~/.bashrc或~/.bash_profile文件中。
4. 修复目录权限
若因权限问题导致无法读取文件,执行以下命令修复:
chmod -R 755 /share/cmake-3.28.3/
内容的提问来源于stack exchange,提问作者pmor
相关产品推荐
相关产品推荐

