本文主要是介绍error MSB8031 Building an MFC project for a non-Unicode character set is deprecated,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
VS2013多字节工程问题
使用VS2013编译旧版VC++程序时,提示Building an MFC project for anon-Unicode character set is deprecated,微软提供了解决方案。
一、错误信息
1>C:\ProgramFiles (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(376,5):error MSB8031: Building an MFC project for a non-Unicode character set isdeprecated. You must change the project property to Unicode or download anadditional library. See http://go.microsoft.com/fwlink/p/?LinkId=286820 formore information.
==========生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
二、微软解释
用于多字节字符编码 (MBCS) 的 MFC 库 (DLL) 不再包含于 Visual Studio 中,但是可用作插件,您可以在任何装有 Visual Studio Professional、Visual StudioPremium 或 Visual Studio Ultimate 的计算机上下载和安装。(在 Visual Studio 中,必须启用 MFC。)安装需要大约 440 MB 磁盘空间,包括英语(美国)和 DLL 的本地化版本。
在安装 MBCS DLL 后,如果卸载或修复 VisualStudio,则还会卸载或修复。 但是,如果只禁用 MFC,MBCS DLL 仍会保留在系统上。 如果仅卸载或修复 MBCS DLL,将不会修改 VisualStudio。
详细信息:http://blogs.msdn.com/b/vcblog/archive/2013/07/08/mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx
具体内容:
Hello,I’m Pat Brenner, a developer on the Visual C++ Libraries team. In this blogpost I want to share some information about the Microsoft Foundation Class (MFC) Library, and in particular the support of the multi-byte character set(MBCS) in MFC.
MFChas many features that support building desktop apps, and MFC has supportedboth Unicode and MBCS for many years. However, because Unicode is so popular,and because our research shows significantly reduced usage of MBCS, we aredeprecating MBCS support in MFC for Visual Studio 2013. This keeps MFC moreclosely aligned with the Windows SDK itself, because many of the newestcontrols and messages are Unicode only. A warning to this effect has been addedto MFC, so when an application is built using MBCS, a deprecation warning isissued. This warning can be eliminated by adding theNO_WARN_MBCS_MFC_DEPRECATION preprocessor definition to your project builddefinitions.
MFC isa very large library and its binary components (static and dynamic librariesand PDBs) form a large part of the total size of the Visual C++ product. Thesize of the MFC libraries substantially increases both download size andinstall time (in full install and update scenarios). In part this is becausethere are so many flavors of the MFC libraries: Debug/Release, Unicode/MBCS,Static/Dynamic. To address this, the MBCS libraries will only be available viaa separate download, which is available here.
Thegoal is to remove MBCS support entirely in a subsequent release. MFC would thensupport only Unicode. We are interested in hearing feedback about thisdecision, so if you have comments, please take the time to leave a response tothis article. Are you using MBCS in MFC? If so, what is the reason, and isthere a reason you have not converted your application to Unicode?
We’recommitted to supporting MFC and making sure that applications built with MFCwill run on future Windows platforms. I hope you find this information usefuland reassuring.
PatBrenner, Visual C++ Libraries Development Team
三、Multibyte MFC Library for Visual Studio2013下载地址
http://www.microsoft.com/zh-cn/download/details.aspx?id=40770
这篇关于error MSB8031 Building an MFC project for a non-Unicode character set is deprecated的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!