Visual Studio - 如何在Microsoft C++生成工具中禁止显示 D9025 警告

visual studio - How to suppress D9025 warning in Microsoft C++ build tools

本文关键字:工具 禁止显示 警告 D9025 C++ Studio Microsoft Visual      更新时间:2023-10-16

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

您无法抑制 D9025,您必须修复它。命令行警告 D9025 表示您在 cl.exe 命令行上有冲突的选项。在您的情况下,您有这样的东西:

cl ... /GL ... /GL- ...

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

在.vcxproj文件中,确保为"全程序优化"属性设置了正确的选项。您的配置部分可能如下所示:

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

这有点老了,但万一其他人遇到这种情况并降落在这里......

很难确切地说出此用户发生了什么,但在Visual Studio中,以下情况下可能会出现此问题:

右键单击:

  • 有问题的项目 => 属性
  • 配置属性 => C/C++ => 命令行

通过示例:

  • 如果您查看"所有选项",可能会有此选项:/MT
  • 在底部"其他选项"的框中,它可能具有:/MD

这些是冲突的 - 因此警告。

若要修复此问题,请删除"其他选项"中的/MD。

然后浏览到:配置属性 => C/C++ => 代码生成。

将运行时库设置为:/MD

同样,这只是如何发生这种情况的一种情况,但如果用户使用 makefile(将运行时库设置为一个值,然后使用 AdditionOptions 将其设置为有争议的值),则可能会发生类似的事情)

顺便说一句,这只是一个警告,它最终使用AddtionOptions中指定的值。