【发布时间】:2014-01-09 12:07:21
【问题描述】:
在构建 VS2013 解决方案(从 VS8 迁移)时,出现以下错误:
错误 1 错误 C2220:警告被视为错误 - 没有“对象”文件 生成的 C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\afx.h 38 警告 2 警告 C4996:“MBCS_Support_Deprecated_In_MFC”:不推荐使用 MFC 中的 MBCS 支持 并且可能会在未来版本的 MFC 中删除。 C:\程序 文件\Microsoft Visual Studio 12.0\VC\atlmfc\include\afx.h 38
这是由以下代码引起的:
#ifdef _MBCS
// Warn about MBCS support being deprecated: see http://go.microsoft.com/fwlink/p/?LinkId=279048 for more information.
#pragma warning(push)
#pragma warning(1 : 4996)
inline __declspec(deprecated("MBCS support in MFC is deprecated and may be removed in a future version of MFC.")) void MBCS_Support_Deprecated_In_MFC() { }
class MBCS_Deprecated_MFC
{
public:
MBCS_Deprecated_MFC() { MBCS_Support_Deprecated_In_MFC(); }
};
#pragma warning(pop)
#endif
如何找到解决方案中定义 _MBCS 的位置。查找没有任何结果。
【问题讨论】:
-
检查项目属性中的编译命令行参数。
-
这些行是空的。
-
即使您在 .vcproj 文件中找到
PreprocessorDefinitions,也不能简单地删除_MBCS。您将不得不调查,为什么首先设置它,并识别依赖它的代码。这很重要。
标签: c++ mfc visual-studio-2013