Visual C++ Tips: warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support i

在用Visual Studio 2013编译一个旧的VC++项目时,出现大量的这样的警告:

 

[plain]  view plain  copy
 
 print ? 在CODE上查看代码片 派生到我的代码片
  1. 1>c:\program files (x86)\microsoft visual studio 12.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.  
  2. 1>          c:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\afx.h(33) : see declaration of 'MBCS_Support_Deprecated_In_MFC'  


 

 

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

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

 

关于程序支持 Unicode 还是 MBCS,设置选项在这里:

 

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

 

 

猜你喜欢

转载自1197757723.iteye.com/blog/2355715
今日推荐