未安装默认位置的PVS Studio未使用MSVS

问题描述:

由于磁盘大小的限制,我安装了MSVS 2017至D:\Program Files\Visual Studio未安装默认位置的PVS Studio未使用MSVS

然后我安装了PVS-Studio v6.14。当我试图运行它,我得到以下错误信息:

Error was encountered while opening project 'MIDI2LR.vcxproj'. 0 
Exception message: 0 
Could not find a part of the path 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC'. 0 

还可以看出PVS-Studio中没有安装其扩展到D:\Program Files\Visual Studio\Common7\IDE\Extensions\3ci0fu2p.p0x目录,所以会出现安装程序中发现的可执行文件。

如何将PVS-Studio指向正确的目录?

+0

嗨@rsjaffe! 首先,除了VS2017之外,您的系统中安装了哪些Visual Studio版本?其次,我们需要你的项目文件(vcxproj)。您可以将其发送至[email protected]_。 感谢您的反馈! –

如果我理解正确的,我们从你的资料库(开发分支)谈论/Builds/VisualStudio2017/MIDI2LR.vcxproj。如果您正在谈论另一个项目,请指定它。这些信息基于对我之前提到的项目的分析。

该项目是否在您的机器上编译?如果项目没有编译,PVS-Studio不保证分析。否则,分析应该正确执行。我还注意到,编译时必须安装组件Visual C++ Build Tools 2015(在这种情况下,我们使用目录C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC的内容)。

在这种情况下,由于项目的文件结构而发生此类行为 - 在导入Microsoft.Cpp.Default.props之前PlatformToolset属性的值设置为v140,因此,此导入是基于此工具集执行的。这会导致MSBuild使用来自Visual C++ 2015的编译器,而不是从Visual C++ 2017

要使用VS2017(V141工具集)中的编译器进行编译,您需要修改项目文件(请参阅在Visual Studio 2017中创建的控制台应用程序项目文件的示例)。然后编译应该用正确的编译器完成,并且使用PVS-Studio进行正确的分析。

+0

我已经在构建属性对话框中将项目从v140转换为v141,但不知怎的,这并没有改变vcxproj文件。该项目正在建设中,但PVS-Studio无法正常工作。更改vcxproj中的值可解决问题。 PVS-Studio正在工作。谢谢。 – rsjaffe