CMake找不到VS 14 2015的MSBuild.exe

时间:2019-01-18 22:11:30

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

我正在使用Visual Studio 14 2015 win64中的预编译库构建一个新项目。 因此,当我配置项目Cmake时,我选择了此编译器,但收到错误消息:

CMake Error at CMakeLists.txt:2 (project):
Failed to run MSBuild command:
MSBuild.exe
to get the value of VCTargetsPath:
Specified file is not found

为什么Cmake无法找到此编译器的位置?

我有Visual Studio社区2017,并安装了Visual Studio 14 2015 win64插件。我已经可以通过使用Visual Studio 15 2017 win64设置项目,然后手动更改为2015来使解决方案正常工作。

我应该怎么做才能使Cmake直接使用VS14 2015编译器呢?

1 个答案:

答案 0 :(得分:0)

VS开发外壳埋在开始菜单(Visual Studio 2017->Visual studio Tools->VC)中,有多种选择。

然后,您可以使用命令行运行cmake -G "Visual Studio 14 2015 Win64"

这是否行得通,我不确定,因为生成器将寻找“ Visual Studio 14 2015”的注册表项,以确定正确的msbuild的路径。但是您没有安装它,因为您正在使用visual studio community 2017,它的工作原理完全不同。

因此,当cmake未能为msbuild找到VS14时,它将默认为路径中的任何值,而对于msbuild将为VS 2017

那是您确定附件是否与cmake VS14项目和工具集兼容的时候。

附件可能只是VS14工具集。在这种情况下,您想生成一个VS17项目并使用-T选项来使用VS14工具集。

Visual Studio和CMake也将msbuild称为构建工具。 -T选项是选择平台工具集,它是要使用的编译器的版本。