Qt调用ocx插件接口,dumpcpp生成.h和.cpp接口文件

  • Post author:
  • Post category:其他

1、首先注册ocx插件:用管理员身份打开cmd,进入到ocx所在目录,执行注册命令:regsvr32 MapWinGIS.ocx,注册完毕。

ocx对应有一个classid,可以通过oleview.exe软件查看,步骤如下:

2、将ocx的接口转成qt可调用的

找到dumpcpp.exe,一般在qt安装目录下边 D:\Qt\Qt5.9.7\5.9.7\msvc2015_64\bin(具体看你自己安装目录在哪),如果没有的话,可以在qt安装目录下找到dumpcpp.pro这个工程,自己编译生成。

用管理员身份打开cmd,切换到dumpcpp.exe所在目录下,执行命令:dumpcpp.exe {C368D713-CC5F-40ED-9F53-F84FE197B96A},在dumpcpp.exe所在目录下边会生成mapwingis.h和mapwingis.cpp这两个文件,qt工程直接加载这两个文件就可以调用ocx对应的接口函数了。

上面步骤中执行命令,可能会出现type libaray ‘’ not found的错误,这个可能是因为ocx没有注册导致,可以在注册表中查找下看看是否有对应classid;也可能是因为对应ocx是win64的,dumpcpp.exe里边只对win32的进行了处理,这需要查看dumpcpp的源码,进行修改,如下:


版权声明:本文为tingy123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。