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