安装VS 2019后,CMake找不到VS 2017 C ++编译器

原地址:

https://stackoom.com/question/3zqGp/%E5%AE%89%E8%A3%85VS-%E5%90%8E-CMake%E6%89%BE%E4%B8%8D%E5%88%B0VS-C-%E7%BC%96%E8%AF%91%E5%99%A8

我安装了Visual Studio 2017专业版以及Visual Studio 2019专业版。

由于我无法控制的某些项目限制,我必须使用VS 2017编译器来编译代码。 在安装Visual Studio 2019之前,以下CMake命令运行良好:

cmake -G "Visual Studio 15 2017 Win64"

但是在安装VS 2019之后,上面的行显示以下错误:

CMake Error at CMakeLists.txt:9 (project):
  Failed to run MSBuild command:

    MSBuild.exe

  to get the value of VCTargetsPath:

    Das System kann die angegebene Datei nicht finden

最后一行表示类似“系统无法找到给定文件”的内容。

谁能帮我解决问题? 可悲的是,到目前为止,我必须为此特定项目使用VS2017中的编译器。

编辑:正如尼尔在评论中所建议的那样,使用开发人员命令提示符就可以了。 有什么方法可以使用Windows命令提示符吗? 它更容易使用。

Edit2:我现在使用Neil建议的解决方案,并运行Visual Studio命令提示符中所需的命令,因为我无法弄清楚如何在Windows命令提示符下正确地进行操作。

c++ windows cmake visual-studio-2017 visual-studio-2019

1 个回复

按投票数排序按时间排序

 

===============>>#1 票数:1 已采纳

CMake始终尝试查找Visual Studio的最新版本。 因此,如果安装了VS2019,但未正确检测到,则3.14之前的CMake的较早版本可能会失败。

请注意,如果重新运行,则需要从构建目录中删除CMakeCache.txt和CMakeFiles文件夹。

如果打算将VS2019与CMake一起使用,则需要使用CMake的体系结构选项( -A ),因为没有“ Visual Studio 16 2019 Win64”生成器,例如cmake -G "Visual Studio 16 2019" -A x64 for 64位生成或cmake -G "Visual Studio 16 2019" -A Win32用于32位生成的cmake -G "Visual Studio 16 2019" -A Win32 。 体系结构选项是CMake 3.0.2中引入的,因此对于较旧的Visual Studio安装,您也可以使用它代替特定的生成器名称。

 

你可能感兴趣的:(CMake)