构建时错误的预处理程序指令

问题描述 投票:4回答:2

当构建一个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的位置。查找没有任何结果。

c++ mfc visual-studio-2013
2个回答
8
投票

_MBCS 符号将根据您的项目属性中的设置来定义。请看 General->Character Set - 这就是在命令行中添加所需条目的方法。

要继续使用 MBCS,你需要安装来自 微软在此

正如它所指出的 MSDN:

msdn

你的问题中的代码实际上提供了一个链接到 本博文其中讨论了这些变化并提供了下载链接。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.