CMake未能检测到Git版本

问题描述 投票:3回答:2

当我运行cmake(为了build TensorFlow on Windows)时,我收到错误消息

CMake Error at C:/Program Files/CMake/share/cmake-3.8/Modules/ExternalProject.cmake:1811 (message):
  error: git version 1.6.5 or later required for 'git submodule update
  --recursive': GIT_VERSION_STRING=''

ExternalProject.cmake的第1810-1812行,我有以下几行:

    if(GIT_VERSION_STRING VERSION_LESS 1.6.5)
      message(FATAL_ERROR "error: git version 1.6.5 or later required for 'git submodule update --recursive': GIT_VERSION_STRING='${GIT_VERSION_STRING}'")
    endif()

但我看不到GIT_VERSION_STRING的分配地点。无论如何,似乎GIT_VERSION_STRING未分配或分配空字符串或类似的东西。这使得CMake无法检测到我的Git版本。

我有Git和git --version

git version 2.12.2.windows.2

任何人都知道可以对此错误做些什么?

git cmake
2个回答
0
投票

在我运行CMakeCache.txt的文件夹中的文件cmake中,有一个名为GIT_EXECUTABLE:FILEPATH的变量,由于某种原因指向了错误的路径(我安装了Git但不在该文件夹中)。所以我删除了CMakeCache.txt(根据Tsyvarev的建议)并重新运行cmake,之后我没有遇到同样的问题。

我不明白的是为什么我第一次运行GIT_EXECUTABLE:FILEPATH而不是第二次cmake指定了错误的路径。这条错误路径来自哪里?为什么我只遇到一次这个问题,而不是两次我都跑cmake


0
投票

使用git的路径指定GIT_EXECUTABLE。

看起来cmake默认从IDE中获取git。 Visual Studio和Xcode也提供了git二进制文件,它最好由cmake提供,可能是版本不匹配错误的原因。

© www.soinside.com 2019 - 2024. All rights reserved.