您的位置:首页 > 产品设计 > UI/UE

错误Building an MFC project for a non-Unicode character set is deprecated

2016-06-23 16:48 405 查看
转载于:http://www.it165.net/pro/html/201403/10309.html和http://blog.csdn.net/shuaihj/article/details/17071351

vs2013是目前最新版的windows平台的开发环境,确实好用,还记得很多人编程的时候,安装了一些插件,有助于编程,但是时代到了vs2013,完全不需要这些辅助工具了,呵呵,但是也带来了一些麻烦,这时候我开始对微软的这些做法不解,最恼人的就是在vs2013的H3Viewer2.1中搜索msdn离线文档的时候,发现不能使用桌面应用开发的文档,就是没有win32的部分了,现在要去查,就得到在线msdn了,据说是微软要力推net开发,确实net帮助文档是完整的。好了,现在说说vs2013的另外一个问题,就是默认不再对多字节字符编码的支持,其实这个对我没什么影响,如果是我自己编写,我都用unicode,但是如果你打开以前的编译器编写的代码,如果是用的多字节字符编码,就会提示错误,如:C:\Program
Files\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(369,5): error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information.

要解决这个错误,有两个办法,一个是在项目属性中,把字符编码改成unicode字符集

但是这样一来,就必须在代码中将各种字符都要修改,如很多函数接收的参数就编程了unicode的了,SetWindowText("hello world"),就要改成SetWindowText(L"hello world");或是SetWindowText(TEXT("hello world"));才可以编译成功。如果代码多,那就比较麻烦了。

第二种方法就是添加库,使vs2013支持多字节字符,这个就需要下载和安装一个文件http://pan.baidu.com/s/1Acu6M,安装了之后,就可以解决这个问题了。之后再编译,就会成功。不过安装之后,应该重启vs2013。就是安装   Multibyte MFC Library for Visual
Studio 2013
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: