在vs2013中默认不再包含对多字节字符编码的支持

原文链接: http://blog.csdn.net/xinzhiyounizhiyouni/article/details/20617981?userName=yunying_si&userInfo=yDrezcMuKxfcugn9kRf2ERrHL2%2F9J3h17XvxQEEcG%2FvKqSFxWxfxP0PCC8UjRTvFPtDGEfBb2ZdOi%2BODfHnWjzqjbrc%2FXBcqHNG1D5ciF9oFGN8NjmG7ZgEgXQc%2B9rDMveKDWEWNsso%2Bpryje%2BKxKg%3D%3D

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字符集,如下图:

在vs2013中默认不再包含对多字节字符编码的支持_第1张图片

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

第二种方法就是添加库,使vs2013支持多字节字符,这个就需要下载和安装一个文件http://pan.baidu.com/s/1Acu6M,安装了之后,就可以解决这个问题了。之后再编译,就会成功。不过安装之后,应该重启vs2013。如下图,现在我选择多字节字符集:

在vs2013中默认不再包含对多字节字符编码的支持_第2张图片

在vs2013中默认不再包含对多字节字符编码的支持_第3张图片

好了,今天就说到这里!!

我是“农民”。欢迎到我的博客来,以后我会尽可能的把编程中遇到的问题和技术,呈现在我的博客中。

你可能感兴趣的:(VC2013,C,&,C++)