gpt4 book ai didi

c++ - 将 PVS-Studio 集成到 MSBuild 文件中

转载 作者:行者123 更新时间:2023-11-28 06:46:15 26 4
gpt4 key购买 nike

我有很多项目,我已经创建了一个通用的 MSBuild 文件来运行。我正在尝试将 PVS Studio 的静态分析集成到构建中,而无需再次构建。我遵循了 PVS 网站上的一些文档,但我一定遗漏了一些东西。我这么说是因为当我构建 PVS 时似乎没有触发/调用。有没有人对此有任何经验并可以帮助我?

这是我的构建文件的 PVS 位。

 <UsingTask TaskName="ProgramVerificationSystems.PVSStudio.PVSStudio" 
AssemblyFile="C:\Program Files (x86)\PVS-Studio\PVS-Studio-MSBuild.dll" />
<Target Name="PVSStudioAnalysisBeforeCompile" BeforeTargets="ClCompile">
<Exec Command="echo PVSStudio initiating now."/>
<PVSStudio Condition="'%(ClCompile.ExcludedFromBuild)'!='true'"
Sources="@(ClCompile)"
BeforeClCompile="true"
BuildingInIDE="false"
TrackerLogDirectory="%(ClCompile.TrackerLogDirectory)"
PreprocessorPath="$(VCInstallDir)"
Platform="$(Platform)"
ProjectFullPath="$(MSBuildProjectFullPath)"
SolutionDir="$(SolutionDir)">
<Output TaskParameter="SourcesAfterTlogParsing"
ItemName="CLCompileAfterTlogParsing" />
</PVSStudio>
</Target>
<Target Name="PVSStudioAnalysisAfterCompile" AfterTargets="ClCompile">
<PVSStudio Sources="@(CLCompileAfterTlogParsing)"
BeforeClCompile="false"
BuildingInIDE="$(BuildingInsideVisualStudio)"
PreprocessorPath="$(VCInstallDir)"
OutputFilePath ="$(OutputDir)"
Platform="$(Platform)"
ProjectFullPath="$(MSBuildProjectFullPath)"
SolutionDir="$(SolutionDir)" />
<Exec Command="echo PVSStudio finished"/>

我相信你们都需要更多信息来解决这个问题,所以让我知道我应该为你们准备什么。

谢谢,

结核病

最佳答案

您应该执行以下操作之一:

  1. 如果你想将分析器的输出保存到一个文件中,你应该在两个任务中将 BuildingInIDE 属性设置为 false,你还应该指定一个文件例如,将输出保存到 OutputFilePath = "$(OutputDir)"/pvs.log。您将能够从 PVS-Studio IDE 插件/独立版中查看此类日志,方法是将其作为未解析的日志打开。

  2. 如果您想从 Visual StudioPVS-Studio 插件中构建您的项目,以便立即将分析器结果连接到它的输出窗口,那么您应该将 BuildingInIDE 属性设置为 true(或 "$(BuildingInsideVisualStudio)")并启用 MSBuild通过转到 PVS-Studio -> Options -> Specific Analyzer Settings -> MSBuild Output Log Monitoring 并将其设置为 true

关于c++ - 将 PVS-Studio 集成到 MSBuild 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24938183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com