类似于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实例,而不需要手动调整,而且我至少应该能够使用环境变量来指向每个实例,尽管这似乎也不起作用。
发布于 2021-02-26 05:22:25
我认为这是一个不幸的命名案例。安装“VS2017 Visual Studio x64/x86构建工具”只安装编译器、链接器和标准库,而不是包括MSBuild的整个“C++构建工具2017”。但你需要后者来使用"Visual Studio 15 2017“生成器。您可以在https://aka.ms/vs/15/release/vs_buildtools.exe上找到2017构建工具的安装程序
发布于 2021-02-26 04:49:20
如果您希望生成目标为Visual Studio2017平台工具集(v141),但使用Visual Studio2019作为生成器,则可以使用以下CMake generate命令
cmake -G "Visual Studio 16 2019" -T v141 ..
https://stackoverflow.com/questions/66376188
复制相似问题