我正在使用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编译器呢?
答案 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
选项是选择平台工具集,它是要使用的编译器的版本。