VS2013 Multi-byte engineering problems
using VS2013 to compile the old version of VC + + program, prompted building an MFC project for Anon-unicode character set is deprecated, Microsoft provides a solution 。
First, error message
1>c:\programfiles (x86) \msbuild\microsoft.cpp\v4.0\v120\microsoft.cppbuild.targets (376,5): Error MSB8031: Building a 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.
========== Build: success 0, failed 1, latest 0, skip 0 ==========
Second, Microsoft explained
The MFC library (DLL) for multibyte character encoding (MBCS) is no longer included in Visual Studio, but can be used as a plug-in for any Visual Studio Download and install Professional, Visual Studiopremium, or Visual Studio Ultimate on a computer. (In Visual Studio, MFC must be enabled.) Installation requires approximately MB of disk space, including localized versions of English (United States) and DLLs.
If you uninstall or repair visualstudio after you install the MBCS DLL , it will also be uninstalled or repaired. However, if you disable MFC only, the MBCS DLLs remain on the system. If you uninstall or repair only MBCS DLLs, VisualStudio will not be modified.
More information:http://blogs.msdn.com/b/vcblog/archive/2013/07/08/ Mfc-support-for-mbcs-deprecated-in-visual-studio-2013.aspx
Specific content:
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, a nd in particular the multi-byte character set (MBCS) in MFC.
mfchas many features that support building desktop apps, and MFC have Supportedboth Unicode and MBCS for many years. However, because Unicode is so popular,and because we are shows significantly, usage of MBCS, we reduced ng 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 is Unicod E only. A warning to this effect have been addedto MFC, so if an application is built using MBCS, a deprecation warning isissued. This warning can is eliminated by adding theno_warn_mbcs_mfc_deprecation preprocessor definition to your project Builddef Initions.
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 Scenar iOS). In-is becausethere many flavors of the MFC libraries:debug/release, unicode/mbcs,static/dynamic. To address this, the MBCS libraries would only being 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 is interested in hearing feedback for thisdecision, so if you have comments, please take the time to leave a respons e tothis article. is the using MBCS in MFC? If So, what's the reason, and isthere a reason you had not converted your application to Unicode?
We ' recommitted to supporting MFC and making sure the applications built with Mfcwill run on the future Windows platforms. I Hope you find this information usefuland reassuring.
Patbrenner, Visual C + + Libraries development Team
Third,multibyte MFC Library for Visual Studio2013
http://www.microsoft.com/zh-cn/download/details.aspx?id=40770
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Error MSB8031 Building an MFC project for a non-unicode character set is deprecated