我安装了Visual Studio 2017 Professional和Visual Studio 2019 Professional。
由于一些我无法控制的项目限制,我必须使用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的编译器。
编辑:如Neil在评论中所建议,使用Developer Command Prompt可以很好地工作。有什么方法可以使用Windows命令提示符吗?使用起来更简单。
Edit2 :我现在使用Neil建议的解决方案,并运行Visual Studio命令提示符中所需的命令,因为我不知道如何在Windows命令提示符下正确地进行操作。
答案 0 :(得分: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
适用于64位版本,cmake -G "Visual Studio 16 2019" -A Win32
适用于32位版本。 CMake 3.0.2中引入了体系结构选项,因此对于较旧的Visual Studio安装,您也可以使用它代替特定的生成器名称。