构建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:\ PROGRAM Files \ 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的定义。查找没有任何结果。
答案 0 :(得分:8)
_MBCS
符号将根据项目属性中的设置进行定义。查看General->Character Set
- 这是将所需条目添加到命令行的内容。
要继续使用MBCS,您需要安装Microsoft here
的可选支持正如MSDN中所述:
您问题中的代码实际上提供了this blog post的链接,该链接讨论了更改并包含下载链接:
// Warn about MBCS support being deprecated: see http://go.microsoft.com/fwlink/p/?LinkId=279048 for more information.
因此,您可以从上面的链接下载补丁或将您的应用程序迁移到UNICODE。