我编了一个动态链接库,生成了Dll1.dll和Dll1.lib文件。然后用MFC做了个测试程序,我把Dll1.dll和Dll1.lib两个文件拷贝到测试程序的debug目录下,并在测试程序中的 工程\设置\链接 中的 对象\库模块 下填了Dll1.lib。但编译时发现无法打开Dll1.lib文件的错误。请各位高手指点这是为什么?一般在什么情况下会出现这种错误。
解决方案 »
- VC打印分页
- 怎么滚动条松开鼠标才触发事件?
- MFC在一个对话框类中添加另一个对话框的对象提示出错
- Gdiplus.h编译错误
- 关于COM的参数类型问题
- 创建子窗口时界面的闪烁问题
- 关于WriteFile写串口的问题,我把几个字节合并发送,为什么发不出?
- 如何为CHECK BOX控件加背景色,我用onctrlcolor()好象只能加文本下面的背景,还有一块加不上这怎么办?
- 用MSComm控件操作USB虚拟串口的问题
- 关于VC中的函数
- 参赛盛大WIDGET大赛,诚邀人气大散分!
- str1->Format("(%d*%d*%d)", pImg->GetWith(), pImg->GetHeight(), pImg->GetBpp())
隐式链接:
将.LIB和.H文件COPY到使用端根目录下。
#pragma comment(lib,"**.lib")
#include "***.h"
将.DLL文件放入DEBUG文件夹下即可使用显式加载:(必须防止名字改编,这个我常用)
将.dll文件COPY到DEBUG中。
调用HANDLE h=LoadLibrary("**.dll");
定义函数指针接受DLL中的函数:
typedef int (FUNCTION*)();//FUNCTION根据需要自己定义
FUNCTION p=(FUNCTION)GetProcAddress(h,函数名);
调用p函数
FreeLibrary(h);释放资源