最近在用Qt调用
dll,我用的大漠
插件,通过QLibrary可以成功
Load大漠插件,但是在resole()的时候,报错,找不到函数
代码如下,不知道大家有
没有碰到这样的
问题,是怎么解决的,大漠的插件是用VC编写的,看到网上有人说,Qt有时候是无法加载一些库的
下面是函数指针声明
- #define DLLEXPORT __declspec(dllexport)
- typedef QString DLLEXPORT (* pMoveToEx )(int,int,int,int);
下面的代码是放在
按键中的
- pMoveToEx moveTo;
- QLibrary myDll("dm.dll",QLibrary::PreventUnloadHint);
- myDll.load();
- qDebug()<<"mydll"<<myDll.isLoaded();
- moveTo = (pMoveToEx)myDll.resolve("MoveToEx");
- if (moveTo == NULL){
- qDebug()<<"error!!!"<<myDll.errorString();
- }else
- moveTo(20,30,20,30);
.pro文件中我也加入了dll库的路径
运行报错如下
[font='Courier']mydll true [font='Courier']error!!! "Cannot resolve symbol "MoveToEx" in dm.dll: 找不到指定的程序。"