我正在尝试使用 cmake 构建一个 github 项目,但遇到了很多麻烦。我正在创建一个构建目录并像这样调用 cmake:
cd github_project_directory
mkdir build
cd build
cmake ..
这是我收到的错误:
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/usr/bin
CMake Error: Error executing cmake::LoadCache(). Aborting.
我认为 cmake 的安装方式存在问题,但我似乎无法弄清楚。我尝试过卸载并重新安装,但……我认为这可能会带来更多麻烦。
我在使用 Ubuntu 14.04。很高兴根据需要提供更多信息。
谢谢你!
答案1
对于任何 cmake,包括,我都遇到了同样的错误,cmake --version
并且“重新安装cmake
,cmake-data
然后重新启动 shell”答案不起作用,所以我尝试手动设置为包含目录CMAKE_ROOT
的路径。dpkg -L cmake-data
Modules
export CMAKE_ROOT=/usr/share/cmake-3.5
它开始cmake --version
工作了,这表明我正在以某种方式处理一个cmake
报告自己为 cmake 2.x 的包,但是它为其资源cmake-data
创建了一个文件夹。cmake-3.5
事实证明,我的一个 PPA 提供的 cmake 3.5 与 14.04 使用的 cmake 2.8 包名相同,由于依赖冲突,该cmake-data
包已升级到 3.5,但该cmake
包仍停留在 2.8 版本。
以下几行对我有用:
sudo apt-get remove cmake cmake-data
sudo apt-get install cmake3 cmake3-data
答案2
我必须重新安装我的 cmake 来纠正同样的错误。
sudo apt-get remove cmake cmake-data
sudo -E add-apt-repository -y ppa:george-edison55/cmake-3.x
sudo -E apt-get update
sudo apt-get install cmake
然后确保重新提供你的 rc 资源。
. ~/.bashrc
答案3
Runing. ~/.bashrc
也帮我解决了这个问题。我的整个过程是 -
sudo apt remove cmake // as it was a old version and i needed new one
pip install cmake --upgrade
sudo apt autoremove
. ~/.bashrc
答案4
如果您在安装新的/更新的/不同的版本后遇到此问题cmake
,请尝试运行hash -r
。
归功于https://stackoverflow.com/questions/18615451/cmake-missing-modules-directory