2013-10-26 43 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安装的版本 。