编译器警告(等级3) C4996
重要
此警告始终是来自声明符号的标头文件的作者的故意消息。 不要在不了解后果的情况下使用已弃用的符号。
备注
Visual Studio 库中的许多函数、成员函数、模板函数和全局变量已弃用。 有些,例如 POSIX 和 Microsoft 特定的函数,因为它们现在具有不同的首选名称。 某些 C 运行时库函数被弃用,因为它们不安全,并且具有更安全的变体。 其他内容已被弃用,因为它们已过时。 弃用消息通常包含推荐的替代函数或全局变量。
实际情况
错误 C4996 ‘inet_ntoa’: Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings Chat
处理办法
在该错误文件内任意位置加上警告杂注
#pragma warning(disable : 4996)
更多信息
若要在命令行生成中全局关闭警告,请使用/wd4996命令行选项。
若要在 Visual Studio IDE 中关闭整个项目的警告:
打开项目的 “属性页” 对话框。 有关如何使用 “属性页” 对话框的信息,请参阅属性页。
选择 “配置属性” > CC++ / > “高级” 页。
编辑 “禁用特定警告” 属性以添加 4996。 选择 “确定” 以应用所做的更改。
你还可以使用预处理器宏来关闭库中使用的某些特定类的弃用警告。 下面描述了这些宏。
在 Visual Studio 中定义预处理器宏:
打开项目的 “属性页” 对话框。 有关如何使用 “属性页” 对话框的信息,请参阅属性页。
展开 “配置属性” >C++ C/> 预处理器。
在 “预处理器定义” 属性中,添加宏名称。 选择“确定” 进行保存,然后重新生成项目。
若要仅在特定源文件中定义宏,请在包含头文件的任何行之前添加一行,如 #define EXAMPLE_MACRO_NAME。