使用WTL的Wizard直接创建出来的工程修改步骤,使编译通过

使用WTL的Wizard直接生成的工程,一般不能直接编译通过,需要做一些设置,简单描述如下:(基于VS2010)

1、缺少atlapp.h

在Properties==>C/C++ == > Include additional Directory   。增加WTL的路径,如..\..\WTL80

2、 添加1后编译会有一大堆的头文件冲突。

在stdafx.h中把<atlapp.h>修改为"atlapp.h"。

<atlwin.h> 改为 "atlwinex.h"

即把引用AtlMfc里的文件变为引用WTL80里的文件


3、CMenuHandle的TrackPopupMenuEx编译不过

不使用atlframe

a  把CMainFrame的基类由CFrameWindowImpl改为CWindowImpl

b 删掉PreTranslateMessage里的处理,直接return FALSE

c 消息处理里删掉CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)

d 全局的run函数里,修改wndMain.Create() 为 wndMain.Create(param1, param2,...) 这个地方需要传递Create的正确参数


4、编译找不到atlres.h

Properties ==> Resources ==>Additional Include Directories 追加 WTL目录。如..\..\WTL80


可以编译通过


atlframe因为头文件引用的问题,所以暂时通过上面的修改方法来编译通过的。如果有更好的方式,使atlframe可以使用,麻烦评论告诉我一下,谢谢啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值