将警告转换为错误

2024-02-03

在 Windows 中,VC++ 有一个不错的选择/We http://msdn.microsoft.com/en-us/library/thxezb7y.aspx将特定警告转换为错误。此外,VC++ 发出的每个警告都有一个警告编号,例如

warning C4265: 'CFoo' : class has virtual functions, but destructor is not virtual

因此很容易识别数字并使用以下命令添加编译器选项/We http://msdn.microsoft.com/en-us/library/thxezb7y.aspx切换为 /We4265

我检查了 g++ 文档并发现了类似的内容(我相信),-Werror= https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html,但文档提到

将指定的警告变为错误。

但我的问题是,

给出编译器警告

/yada/yada/src/inc/module.h:580: warning: 'struct IFoo' has virtual functions but non-virtual destructor

如何使用将其转换为错误-Werror编译器选项?


正是那句话在手册中 https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Warning-Options.html#Warning-Options继续,答案是:

附加警告说明符;例如-Werror=switch将警告控制为-Wswitch陷入错误。该开关采用否定形式,用于否定-Werror针对特定警告;例如-Wno-error=switch makes -Wswitch警告不是错误,即使-Werror已生效。

我不是 100% 确定,但是-Wdelete-non-virtual-dtor可能是有问题的警告,所以你需要-Werror=delete-non-virtual-dtor.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将警告转换为错误 的相关文章

随机推荐