如何在 Microsoft C++ 构建工具中抑制 D9025 警告

Cha*_*den 5 c++ msbuild suppress-warnings visual-studio

我正在使用 Microsoft C++ 编译器和构建工具编译一个库。我的构建环境设置了编译标志 /GL,但对于特定的库,我需要关闭该标志。我可以使用 /GL- 这样做,但是我收到警告 D9025,它只是告诉我我正在覆盖以前的设置。我想抑制这个警告。但是命令行选项 /wd 只分叉 Cxxx 错误和警告,而不是 Dxxx 警告。如何抑制 D9025 警告?

sev*_*tov 7

你无法抑制 D9025,你必须解决这个问题。命令行警告 D9025表示 cl.exe 命令行上的选项存在冲突。在你的情况下,你有这样的事情:

cl ... /GL ... /GL- ...
Run Code Online (Sandbox Code Playgroud)

编译器实际上使用命令行上最后指定的选项,但该命令行非常混乱。

在 .vcxproj 文件中,确保已为 WholeProgramOptimization 属性设置正确的选项。您的配置部分可能如下所示:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  ...
  <WholeProgramOptimization>false</WholeProgramOptimization>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)