【发布时间】:2019-04-28 20:04:40
【问题描述】:
在使用 Visual Studio 2017 最新更新 15.9.2 构建我的项目时,我收到警告消息“cl : Command line warning D9035: option 'Gm' has been deprecated and will be removed”。如何解决此警告?
【问题讨论】:
标签: visual-studio-2017 cl
在使用 Visual Studio 2017 最新更新 15.9.2 构建我的项目时,我收到警告消息“cl : Command line warning D9035: option 'Gm' has been deprecated and will be removed”。如何解决此警告?
【问题讨论】:
标签: visual-studio-2017 cl
Properties > C\C++ > Code Generation > Enable Minimal Rebuild: DELETE value - 并且没有警告。
【讨论】:
Project > Properties > Configuration Properties > C\C++ > Code Generation >
将Enable Minimal Rebuild设置为no,就没有警告了。
【讨论】:
/Gm-。您想完全删除该选项(“从父级继承”),并且不应该有一个父级具有/Gm 或/Gm-。
只需将其添加到您已弃用的函数上方
#pragma warning (disable : 4996);
例子
#pragma warning (disable : 4996);
your_deprecated_function();
【讨论】:
UI 也不适合我。在 .vcxproj 文件搜索中:“MinimalRebuild”我在 Debug|Win32 下错过了第二个
【讨论】:
尝试为Enable Minimal Rebuild 选项选择<inherit from parent or project defaults>(在C/C++ > Code Generation 下)。在此之后,该选项应以粗体显示 No (/Gm-),not。确保为您的项目(解决方案中可能有多个项目)以及它们继承的所有属性页执行此操作。
我在使用 Visual Studio 2019 时遇到了同样的问题,最终问题出在我在同一解决方案中的第二个项目中,该项目的选项设置为 Yes (/Gm)。
【讨论】:
Enable Minimal Rebuild 选项设置<inherit from parent or project defaults> 时,Visual Studio 都会将此设置为Yes (/Gm) 以用于Debug|x64。但是对于Release|x64,它将按预期将其设置为No (/Gm)。我在 .vcxproj 中将此跟踪到 Project/PropertyGroup/UseDebugLibraries。删除该节点(这不是“正确”的做法),使Enable Minimal Rebuild 的默认值为No (/Gm-)。
也发生在我身上。没有设法通过 UI 修复它。 最后,我在所有项目文件中搜索了“MinimalRebuild”并手动将其删除 - 这很有帮助
【讨论】:
您可以安全地从您的项目中删除此选项。
【讨论】: