• 3306阅读
  • 0回复

关于Qt调用dll问题 [复制链接]

上一主题 下一主题
离线zheguzai
 

只看楼主 倒序阅读 楼主  发表于: 2013-10-01
最近在用Qt调用dll,我用的大漠插件,通过QLibrary可以成功Load大漠插件,但是在resole()的时候,报错,找不到函数


代码如下,不知道大家有没有碰到这样的问题,是怎么解决的,大漠的插件是用VC编写的,看到网上有人说,Qt有时候是无法加载一些库的

下面是函数指针声明
  1. #define DLLEXPORT __declspec(dllexport)
  2. typedef QString DLLEXPORT (* pMoveToEx )(int,int,int,int);


下面的代码是放在按键中的
  1. pMoveToEx moveTo;
  2.     QLibrary myDll("dm.dll",QLibrary::PreventUnloadHint);
  3.     myDll.load();
  4.     qDebug()<<"mydll"<<myDll.isLoaded();
  5.      moveTo = (pMoveToEx)myDll.resolve("MoveToEx");
  6.     if (moveTo == NULL){
  7.         qDebug()<<"error!!!"<<myDll.errorString();
  8.     }else
  9.         moveTo(20,30,20,30);

.pro文件中我也加入了dll库的路径




运行报错如下



[font='Courier']mydll true
[font='Courier']error!!! "Cannot resolve symbol "MoveToEx" in dm.dll: 找不到指定的程序。"




快速回复
限100 字节
 
上一个 下一个