我正在使用Microsoft C ++编译器和构建工具来编译库。我的构建环境设置了编译标志/ GL,但是对于特定的库,我需要关闭该标志。我可以使用/ GL-来执行此操作,但是会收到警告D9025,它只是告诉我我正在覆盖先前的设置。我要禁止显示此警告。但是命令行选项/ wd仅分叉Cxxx错误和警告,而不分叉Dxxx警告。如何抑制D9025警告?
您无法抑制D9025,必须对其进行修复。 Command-line warning D9025表示cl.exe命令行上的选项有冲突。您的情况是这样的:
cl ... /GL ... /GL- ...
编译器实际上使用了在命令行中最后指定的选项,但是该命令行非常混乱。
在您的.vcxproj文件中,请确保已为WholeProgramOptimization属性设置了正确的选项。您的配置部分可能如下所示:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
...
<WholeProgramOptimization>false</WholeProgramOptimization>
</PropertyGroup>
这有点旧,但是如果其他人遇到了这个并落在这里...
很难确切说明此用户的情况,但是在Visual Studio中,在以下情况下可能会出现此问题:
右键单击:
例如:
这些有冲突-因此是警告。
要修复它,请删除“附加选项”中的/ MD。
然后浏览至:配置属性=> C / C ++ =>代码生成。
将运行时库设置为:/ MD
同样,这只是发生这种情况的一种情况,但是如果用户使用makefile(将RuntimeLibrary设置为一个值,然后使用AdditionOptions将其设置为有争议的内容,则可能会发生类似的情况]
顺便说一句,这只是一个警告,它最终使用AddtionOptions中指定的值。