【转】VS2008 WIN32使用UNICODE字符问题

错误:

1> main.cpp(16) : error C2440: 初始化: 无法从const char [9]转换为LPCWSTR
1> 与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
1>\main.cpp(18) : error C2664: CreateWindowExW: 不能将参数2 从const char [9]转换为LPCWSTR
1> 与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
1> main.cpp(33) : error C2664: UnregisterClassW: 不能将参数1 从const char [9]转换为LPCWSTR
1>与指向的类型无关;转换要求reinterpret_cast、C 样式转换或函数样式转换
 
原因:工程使用了UNICODE字符集
解决方法:
方法三:在项目属性-常规-字符集-选择值 “未设置”
方法一:项目-win32窗口属性(ALT+F7-配置属性-C/C++-预处理器-预处理器定义(打开浏览)-取消从父集或项目默认设置继承
方法二:加上语句#include<TCHAR.h>包含TCHAR.h文件,然后所有字符串都用_T()处理,如
"AppClass"变为
_T("AppClass")

 

本文出自 “Ivan's” 博客,请务必保留此出处http://ivans.blog.51cto.com/3466724/758347

posted on 2012-04-07 21:07  烟雨飘零  阅读(484)  评论(0编辑  收藏  举报

导航