【问题标题】:PVS Studio not working with MSVS not installed in default locationPVS Studio 无法与未安装在默认位置的 MSVS 一起使用
【发布时间】:2017-03-18 23:40:21
【问题描述】:

由于磁盘大小限制,我将 MSVS 2017 安装到D:\Program Files\Visual Studio

然后我安装了 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 指向正确的目录?

【问题讨论】:

  • 嗨,@rsjaffe!首先,除了VS2017,你的系统还安装了哪些Visual Studio版本?其次,我们将需要您的项目文件 (vcxproj)。您可以将其发送至 support@viva64.com。感谢您的反馈!

标签: pvs-studio


【解决方案1】:

如果我理解正确,我们正在谈论来自您的存储库(开发分支)的/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 的分析。

【讨论】:

  • 我在构建属性对话框中将项目从 v140 转换为 v141,但不知何故,这并没有改变 vcxproj 文件。该项目正在建设中,但 PVS-Studio 无法正常工作。更改 vcxproj 中的值解决了这个问题。 PVS-Studio 现在正在工作。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-14
  • 1970-01-01
相关资源
最近更新 更多