原地址:
我安装了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安装,您也可以使用它代替特定的生成器名称。