首页 > 代码库 > QT直接调用dll

QT直接调用dll

Qt调用DLL方法

   直接调用DLL则需要三个文件,头文件(.h)、导入库文件(.lib)、动态链接库(.dll),具体步骤如下:

注意:在qtCreaor中生成的动态库库文件文件为.a结尾,vs生成的动态链接库是.lib结尾

1首先我们把 .h.lib/.a 文件复制到程序当前目录下,然后再把dll文件复制到程序的输出目录(如果是debug版的话就将mydlld.dll放在此文件夹下,Release相同)。(注意:如果dll是用C写的,因此要用 extern "C" { #include "ExcelApI.h" }

2下面我们在pro文件中,添加 .lib文件的位置: (注意全名是libmydlld.a或是libmydll.a(gcc下的格式要求))

INCLUDEPATH+=./

LIBS+=-LE:/QTDemo/QTDLL/-lExcelApI                             //绝对路径

LIBS +=-L. -lExcelApI              //相对路径

 

         -L参数指定 .lib/.a文件的位置

         -l  参数指定导入库文件名(不要加扩展名) 

         另外,导入库文件的路径中,反斜杠用的是向右倾斜的 (考虑到程序的移植性,选择当前目录比较好些

 

下面对这句话进行解析:

1)+=这个符号是连接在一起的,不要自做聪明,给分开了,写成+ = ,这样就是错的!

2)+=的左右两边可以有空格,也可以没有空格,随意的

3)-L之后紧接着就跟着.lib文件所在的目录,比如,我的目录是在E盘下的QTDemo目录下的QTDLL目录

         注意,是紧跟着,不要分开,分开就错啦!

4)-l后面跟着的是.lib的文件名。

注意,比如你的.lib文件时ExcelApI .lib,不要写成了-lExcelApI.lib,不要带后缀,要写成-lExcelApI,同样,-l后面也没有空格

下面有:

实例demo:

http://download.csdn.net/detail/woshizfs/7060393