完整安装及配置Visual studio 2008(2010) Express及WTL 引用atlstr.h或者atlmisc.h,这两个中都有定义CString,如果要同时引用这两个头文件,应在atlmisc.h前声明_WTL_NO_CSTRING,屏蔽atlmisc.h中的WTL::CString移走以避免冲突 #include<atlstr.h> #include<atlmisc.h> 关于WTL中使用CString更详细说明看这个链接http://hi.baidu.com/sppeivan/blog/item/04d038cd2d29e01a00e9286d 待续=====
来自东子的博客
==安装并配置==
==问题==1、用wtl向导生成wtl工程,无法编译成功。目前wtl最新版是8.1
1>******* : error C2070: ''unknown-type'': illegalsizeof operand这是因为ATL7.1已经把'_stdcallthunk' 的定义整到atlstdthunk.h中了。有个两个方法修改这个错误方法1在每一次新创建WTL工程后,手动在stdafx.cpp中加入对atlstdthunk.h的包含,如下********#endif // _WTL_SUPPORT_SDK_ATL3#include <atlbase.h>
#include <atlstdthunk.h>// Support for VS2005 Express & SDK ATL
#ifdef _WTL_SUPPORT_SDK_ATL3*********方法2 直接修改WTL向导的代码,这样就不需要每次创建WTL工程后都要修改,找到你的WTL目录,打开这个路径下的stdafx.cpp文件(注:我的WTL是通过SVN下载下来的,路径有些不同)D:\****\wtl\Wizards\AppWiz\Files\Templates\1033\stdafx.cpp找到#include<atlbase.h>后,添加#include<atlstdthunk.h>。修改后变成这样********[!endif]
#include <atlbase.h>
#include <atlstdthunk.h>
[!if WTL_USE_SDK_ATL3]********
2、用wtl向导生成wtl工程,出现乱码问题。现象:窗口标题、按钮名字含有中文时,正常编辑状态都显示正常,可是编译生成的exe文件中,中文都变为问号。这个问题有些vs版本中也会经常遇到。解决:这是资源文件rc的编码设置问题,在SolutionExplorer(解决方案资源管理器)中右键文件“工程名.rc”,选择‘viewcode’,打开“工程名.rc”文件,会看到下面的代码
#pragma code_page(1252)
**************更改为LANGUAGE LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)保存后,重新编译后生成exe,即可正常显示中文。PS:什么时候研究一下向导,在向导中加入语言设置项。3.WTL中使用CString;
#define_WTL_NO_CSTRING