关于DLL想记录的几句话

 自己的觉悟,不知道对错,认为是对的。

关于MFC扩展DLL导出类问题,以导出类CSTU为例,首先是在导出类头文件的class 后加上AFX_EXT_CLASS声明即可,编译生成CSTU.lib,CSTUdll文件,使用时将CSTU.dll拷贝至调用工程test.exe所在目录下,同时将导出类的CSTU.h头文件放到指定的地方,在调用程序,程序中使用导出类的文件中使用时:

#include "CSTU.h"

#pragma comment(lib,"CSTU.lib")//我是和CSTU.lib放一起,没问题

你的包含路径可能不是这样子,但无论如何请确保能找到CSTU.h和CSTU.lib

细节问题:

1.如果你的CSTU类包含了其它的类,则你的CSTU的头文件中必然会包含其它类的头文件,这种情况下,只能把所有用到的其它类的头文件和CSTU.h一起放到指定的目录下,这样编译时才不会报错找不到"xxx.h"

2.DLL工程会生成debug和release,调用工程 也会生成debug和release,如何调试DLL和调用工程呢,

a.调试DLL的debug时,点击调试运行必然生出现一个框框让你选择调用的应用程序,这时你浏览找到调用工程的debug中的test.exe点击运行,即可调试。用release中的test.exe应该也行,可以试一下

b.调试调用程序中的debug时,注意了,请将DLL工程中的release的CSTU.dll,CSTU.lib拷贝到调用工程的debug下来使用,而不是用DLL工程中的debug的,否则会出现使用release能成功,debug却报错的问题,而且是"CDialog::Create(ATL_MAKEINTRESOURCE(nIDTemplate), pParentWnd);"中的ATL_MAKEINTRESOURCE(nIDTemplate)产生的是一个无用指针的问题

3.要有耐心啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值