vc2003中使用WTL

sevencat 2003-11-13 02:53:01
如何使WTL在VC2003下面运行。
首先,向导是要用的,需要改动一下。
第一步:在AppWiz70目录下面找到setup.js,将其中的

var strVC7Key = "HKLM\\Software\\Microsoft\\VisualStudio\\7.0\\Setup\\VC\\ProductDir";
改成
var strVC7Key = "HKLM\\Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir";
第二步:
将WTLApp70.vsz文件中的
Wizard=VsWizard.VsWizardEngine改为
Wizard=VsWizard.VsWizardEngine.7.1
第三步:
这样做了之后,你在编译的时候可能会碰到一个错误。说什么typename之类的,
其中一个是atlprint.h这个头文件出错。找到这一行。
_printer_info<t_nInfo>::infotype* m_pi;
在最前面加上typename

BTW:
有时候你是不是觉得那个stdafx编译的时间太长了点,实际上里面加的头文件实在是太多了,你可以省掉几个。
stdafx.h里面包含的一些文件大家看着办,哪些要哪些不用,自己看看吧。
#include <atlcom.h>
#include <atlhost.h>
#include <atlwin.h>
#include <atlctl.h>
#include <atlframe.h>
#include <atlctrls.h>
#include <atldlgs.h>
#include <atlctrlw.h>
还有些人喜欢将wtl的头文件拷到自己的include 目录下面(就像我,另外建立了自己的include目录和lib目录,像我一般是这样做的)
你可以直接改为像下面的格式。
#include <wtl\atlcom.h>
#include <wtl\atlhost.h>
...
或者还有个死办法,直接将staafx.h这个头文件 的内容放到一个你自己写的头文件如:wtl.h中。以后要用的时候直接#include <wtl.h>这样就可以了。


还有链接的时候有时会告诉你说因为哪个函数没找到,无法链接。这是因为在release版本中加了ATL_MIN_CRT这个选项,本来是用来减少最终可执行文件大小的,有些链接没加进去,因此你可以删掉这句话,增加文件长度大概50K左右。

关于异常的问题大家也可以注意一下,在使用STL的时候,RELEASE版本下面会给出一些警告选项,这是因为RELEASE版本缺省是不加入异常处理的,这应该是为了加快速度吧。假如你高兴的话,可以在工程选项里增加异常选项(/Ehsc)

用WTL编程跟用SDK写基本上差不多,WTL中的类库也仅仅是一些简单封装而已了。
如有问题,欢迎来讨论:Email:hotwangm@hotmail.com QQ:43791167

Enjoy Yourself.
...全文
35 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bright2k 2003-12-12
  • 打赏
  • 举报
回复
WTL 7.1 自带了vs2k3的向导

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧