【转】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