VC2015提示warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is dep

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC2015提示warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is dep相关的知识,希望对你有一定的参考价值。

当碰到这个警告时,查到原因如下:

1>  CollisionModel_contacts.cpp
1>C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\atlmfc\\include\\afx.h(38): warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.
1>  C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\atlmfc\\include\\afx.h(33): note: see declaration of 'MBCS_Support_Deprecated_In_MFC'
1>  CollisionModel_contents.cpp
1>C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\atlmfc\\include\\afx.h(38): warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.
1>  C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\atlmfc\\include\\afx.h(33): note: see declaration of 'MBCS_Support_Deprecated_In_MFC'


出现这样的警告,原因是因为:

由于历史原因,MFC同时支持 Unicode 和 MBCS(multi-byte character set),但 Unicode 日渐变得流行,而 MBCS 逐渐用得越来越少,所以,新版本的 MFC 已经把 MBCS 作为过时的方法,所以用新版本的 Visual Studio 编译 MBCS 程序的时候会出现这样的警告信息,建议大家在新的程序中废弃 MBCS 而采用 Unicode。



但是,对于已经采用 MBCS  的旧版的VC++程序,我们不打算将其迁移至 Unicode,又不想见到大量的 C4996 警告,怎么办呢?关闭编译器的 C4996 警告,需要在 preprocessor 定义中增加 NO_WARN_MBCS_MFC_DEPRECATION。



http://blog.csdn.net/caimouse/article/details/51749579

以上是关于VC2015提示warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is dep的主要内容,如果未能解决你的问题,请参考以下文章

warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s in

运行VS出现warning C4996错误的解决办法

windows系统下VS2013或者VS2017的C4996错误解决方法

warning C4996: 'sprintf': This function or variable may be unsafe.

warning C4996: 'sprintf': This function or variable may be unsafe

警告 1 warning C4996: ‘scanf‘: This function or variable may be unsafe.