2013-10-26 45 views
19

我打開使用Visual Studio我現有的MFC項目,當我建立我收到以下錯誤信息:MBCS錯誤建築MFC C++和Visual Studio項目

Error 1 error MSB8031: Use of MBCS encoding in MFC projects require an additional library to be downloaded and installed. Please see http://go.microsoft.com/fwlink/?LinkId=286820 for more information. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\v120\Microsoft.CppBuild.targets 

這是怎麼回事?

回答

38

此錯誤消息是由於缺少MBCS MFC程序包。從Visual Studio 2013開始,MFC庫的MBCS部分已經從Visual Studio產品中分離出來,成爲它自己的單獨下載。安裝這個軟件包並重建應該可以解決這個問題。

  • 下載可用here這個變化
  • 更多信息,請here

更新爲Visual Studio 2015年

與Visual Studio 2015年,整個MFC C++庫開始(包括MBCS件)是一個可選的安裝組件。在安裝VS2015時,如果您選擇C++和MFC,您還將獲得MBCS庫。

+0

當我安裝上面鏈接的MFC MBCS軟件包時,出現以下錯誤消息「本產品僅適用於MFC庫,它不存在於此計算機上」。我使用VS 2013 Premium Update 3. – tommyk

+0

您的計算機上是否安裝了VS2013? –

+3

與此同時,我解決了這個問題。原因是我在Visual Studio安裝過程中沒有安裝MFC核心庫,所以無法安裝MBCS MFC包,因爲它需要MFC核心庫。 – tommyk

8

您可以考慮將字符集從MBCS更改爲Unicode,而不是安裝附加組件。

這在項目屬性中完成,如下所示。 project properties

+3

儘管這需要付出代價。您可能需要更改代碼。但是,是的,長期來看這是正確的方向。 –

+0

鏈接是瘋了破碎。 –

0

對於的Visual Studio 2015年

根據MSDN上Redistributing the MFC Library的文章,也有REDIST目錄中沒有mfc140.dll文件(C:\ Program Files文件(x86)的\微軟的Visual Studio 14.0 \ VC \ REDIST \ 86)。

的mfc140.dll文件從再發行文件在Visual Studio 2015年RTM 目錄省略。相反,您可以在Windows \ system32和 Windows \ syswow64目錄中使用由Visual Studio 2015安裝的版本 。