woshigaowei5146 2019-08-13 18:38 采纳率: 0%
浏览 1082

急求:QT如何调用外部DLL中的类中的函数?

我现在只有一个外部dll文件**Protocol.dll**,想用QT调用里面的函数,没有.h和.lib。
在网上找了许多方法都不行。

厂家只给了一个**C#**的例程,程序如下:

Protocol.Ax1485 ax1485 = new Protocol.Ax1485();
ax1485.OpenPort()

其中**Ax1485**是一个类,**OpenPort()**是该类中的一个函数,我现在想用QT调用这个函数。我现在是这么做的:

typedef int (*Fun)();
QLibrary testLib("Protocol.dll"); //已经把dll放在debug中
if (testLib.load())
{
        Fun getObj = (Fun)testLib.resolve("OpenPort");
        if (getObj)
                {qDebug()<<"getObj";}
        else
                {QMessageBox::about(NULL,"result","resolve unSuccessfully");}
}

load()成功,但是**resolve()**函数总是不成功,不知道为什么?有没有懂的,急求!!!

  • 写回答

1条回答

  • woshigaowei5146 2019-08-15 15:09
    关注

    现在弄好了,重新装了MinGW编译器版的QT,而且从64位换成了32位。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题