是否有任何 MSBuild 命令行选项可以动态禁用 c++ 项目的代码分析?
Any MSBuild command line option to disable code analysis for c++ project dynamically?
在Windows容器"windowservercore"中使用Build Tools 2017编译c ++项目(启用代码分析)时出现以下错误。
运行 C/C++ 的代码分析...
c1xx:错误 C2220:警告被视为错误 - 未生成"对象"文件 [C:\jenkins\workspace\ABC-DEV\ABC\ABC.vcxproj]
c1xx:致命错误 C1250:无法加载插件"C:\程序文件 (x86)\Microsoft Visual Studio 14.0\VC\bin\localespc.dll"。[C:\jenkins\workspace\ABC-DEV\ABC\ABC.vcxproj]
编译脚本:
call "C:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCAuxiliaryBuildvcvarsall.bat" x64
"C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0BinMSBuild.exe" C:WorkABC.sln /p:configuration=Release /p:platform=x64 /t:rebuild
我像下面这样编辑了ABC.vcxproj错误C2220和C1250已解决。
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnablePREfast>false</EnablePREfast>
但我尝试按照编译命令动态禁用代码分析,但遇到了不同的错误。
"C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0BinMSBuild.exe" C:WorkABC.sln /p:configuration=Release /p:platform=x64 /p:RunCodeAnalysis=false /t:rebuild
c1xx:致命错误 C1253:无法加载模型文件"res://mspft140.dll/300"。
是否有任何 MSBuild 选项可以在不编辑项目文件的情况下禁用 c++ 项目的代码分析?
更新:
将 Directory.Build.props 放入 ABC.sln 文件的目录中不会禁用代码分析。
Directory.Build.props
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
</Project>
这是我勾选复选框"在构建时启用代码分析"后的 ABC.vcxproj。
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
</ItemDefinitionGroup>
看起来第二个错误已经被微软修复了: https://developercommunity.visualstudio.com/content/problem/334430/unable-to-run-code-analysis-on-cmake-project.html。 那么你更新了你的Visual Studio 2019吗?
而且,不应禁止显示错误或警告(尤其是在 c++ 中),因为运行时特别容易受到崩溃的影响。
任何 MSBuild 选项来禁用 c++ 项目的代码分析 不编辑项目文件?
检查本文档,您可以使用Directory.Build.props
来定义RunCodeAnalysis
属性,而无需修改.vcxproj文件。
1.创建一个.txt文件并将其重命名为Directory.Build.props
。
2.内容应为:
<Project>
<PropertyGroup>
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
...
</Project>
(禁用所有配置和平台的代码分析)
或类似的东西:
<Project>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<RunCodeAnalysis>false</RunCodeAnalysis>
</PropertyGroup>
...
</Project>
(仅禁用Release|x64
组合构建的代码分析)
3.将此文件放在解决方案文件夹中,或将其放在项目目录结构中的路径中。
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 无法在 CLion 中构建 C++ 项目
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 欧拉项目#8答案是大以获得有效答案
- 从链接列表c++中删除一个项目
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 既然存在危险,为什么项目要使用-I include开关
- cmake在我的项目中所需的所有静态库都不成功
- QT通过C++添加映射QML项目
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 在linux上调试巨大的C++项目
- 在其他文件中创建类时在 c++ 项目中不起作用
- 使外部项目可用于find_package CMake
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- 如何维护资源管理器项目视图中当前可见的项目列表
- 错误-我无法在VS2019中打开新的Qt项目
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗