【问题标题】:CMake cant find instance of Visual Studio 15 2017 generator, but works fine with Visual Studio 16 2019CMake 找不到 Visual Studio 15 2017 生成器的实例,但与 Visual Studio 16 2019 一起工作正常
【发布时间】:2021-02-25 20:45:39
【问题描述】:

类似于CMake: Visual Studio 15 2017 could not find any instance of Visual Studio,但在我的情况下,我的 MSVC 生成器的主要安装版本正在工作。 2017 年的发电机似乎对我不起作用。这是我的安装设置:

我的理解是这应该可行,我应该有合适的工具。

当我运行cmake -G "Visual Studio 16 2019" ../

我明白了

-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.28.29337.0
-- The CXX compiler identification is MSVC 19.28.29337.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/.../build

目前看起来不错。但是当我运行cmake -G "Visual Studio 15 2017" ../

我明白了

CMake Error at CMakeLists.txt:2 (project):
  Generator

    Visual Studio 15 2017

  could not find any instance of Visual Studio.



-- Configuring incomplete, errors occurred!
See also "C:/.../build/CMakeFiles/CMakeOutput.log".

我目前正在使用这个版本的cmake:

cmake -version
cmake version 3.20.0-rc2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

所以我应该拥有使用 cmake 的所有最新方法。

我知道我可以手动配置生成器,但它坚持使用 cmake 缓存并不断被删除,我的印象是 CMake 可以处理多个 Visual Studio 实例而无需这种手动调整,而且我应该能够至少使用环境变量来指向每个变量,尽管这似乎也不起作用。

【问题讨论】:

    标签: c++ visual-c++ cmake visual-studio-2019


    【解决方案1】:

    如果您想针对 Visual Studio 2017 平台工具集 (v141) 生成,但使用 Visual Studio 2019 作为生成器,则可以使用以下 CMake 生成命令

    cmake -G "Visual Studio 16 2019" -T v141 ..
    

    【讨论】:

    • 我实际上不想要这个,我想我太努力做了一个最小的例子,但实际上有一个第三方依赖需要cmake -G "Visual Studio 15 2017" ,我无法控制它,特别是它是通过 pip 尝试与 numba 一起安装的 llvm lite
    【解决方案2】:

    我认为这是一个不幸的命名案例。安装“VS 2017 C++ x64/x86 构建工具”仅安装编译器、链接器和标准库,而不是实际安装包括 MSBuild 的整个“Visual Studio 构建工具 2017”。但是您需要后者才能使用“Visual Studio 15 2017”生成器。您可以在 https://aka.ms/vs/15/release/vs_buildtools.exe 找到 2017 构建工具的安装程序

    【讨论】:

      猜你喜欢
      • 2019-01-11
      • 1970-01-01
      • 2018-02-06
      • 2019-09-06
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      相关资源
      最近更新 更多