首页 > 代码库 > 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