1、从vc6.0到vs2008出现的字符集不匹配问题
当在vs2005以上版本中编写程序时,如果函数中有字符串参数,常常会出现如下错误:
error C2664: “MessageBoxW”: 不能将参数 2 从“const char [4]”转换为“LPCWSTR”。
这主要是由于字符集不匹配的原因,因为vs2005版本以后vs开始使用unicode(宽字节)字符集,而以前使用的是ansi字符集,unicode字符集对字符长度的检验更为严格。因此,在unicode字符集中不能直接将一些字符串参数直接写出。有下面三种解决方法:
a、将字符串写成_T(“abc”)的形式,并添加#include<tchar.h>。
b、将字符串写成L“abc”的形式。
c、在项目-属性-配置属性-常规中,将字符集改为使用多字节字符集。
2、win8 从metro界面启动两个vs2010编译器的方法
普通的单击启动不能启动两个编译器窗口,必须右击,再从下面选择打开新窗口。
本文介绍了解决VS2005及以上版本中出现的字符集不匹配问题的方法,包括使用_T宏、L前缀及更改项目设置等。同时,还提供了在Win8系统下启动多个VS2010实例的技巧。
17万+

被折叠的 条评论
为什么被折叠?



