构建时出错预处理程序指令

时间:2013-12-20 15:24:25

标签: c++ mfc visual-studio-2013

构建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的定义。查找没有任何结果。

1 个答案:

答案 0 :(得分:8)

_MBCS符号将根据项目属性中的设置进行定义。查看General->Character Set - 这是将所需条目添加到命令行的内容。

要继续使用MBCS,您需要安装Microsoft here

的可选支持

正如MSDN中所述:

msdn

您问题中的代码实际上提供了this blog post的链接,该链接讨论了更改并包含下载链接:

// Warn about MBCS support being deprecated: see http://go.microsoft.com/fwlink/p/?LinkId=279048 for more information.

因此,您可以从上面的链接下载补丁或将您的应用程序迁移到UNICODE。