error MSB8031 Building an MFC project for a non-Unicode character set is deprecated

軍說網事發表於2015-07-31

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




相關文章