首页| 论坛| 消息

标题:在QT中如何连接DLL的导入库(import lib)
作者:bruce1007
日期:2006-05-17 15:30
内容:

我的应用程序是在WIN32下用MINGW32和QT做的,现在需要使用一些第三方的DLL库,请教如何链接DLL的导入库文件(import lilb)?
多谢


#1 [XChinux 05-17 16:05]
很简单,你在.pro文件里加上下面段落:
INCLUDEPATH += yourimportlibraryheaderfilepath
LIBS += -Lyourimportlibrarypath -lyourimportlibraryname
比如我写过的一个QT软件里,有这样的段落:
INCLUDEPATH += ../../include
LIBS += -L../../lib -linterface
在这里,../../include里有interface.h头文件,../../lib目录下面有libinterface.a库文件。
如果你的库文件是.lib形式的,你直接在-l后面跟上你的库文件全名即可。
#2 [bruce1007 05-17 16:11]
我之前这样做过,但是make时报某些函数无法连接,害得我只好用QLibrary,我再试试吧,多谢。
#3 [XChinux 05-17 16:23]
你的lib如果格式不符合mingw编译器的要求的话,你可以使用工具辅助使用。
具体你可参考Qt Installing版置顶帖中的用mingw编译mysql驱动的帖子:
http://www.qtcn.org/bbs/read.php?tid=4210
#4 [bruce1007 05-17 16:48]
有道理,我的LIB是COFF格式,估计用在QT上有问题。谢了
#5 [bruce1007 05-17 17:32]
reimp 确实生成了.a的库文件,但是LIB中增加后仍然出现如下消息:
debug\form.o(.text+0x1c0): In function `ZN4FormC2EP7QWidget':
D:/project/study/prac/form.cpp:13: undefined reference to `stopMovie(void*)'
debug\form.o(.text+0x2d4): In function `ZN4FormC1EP7QWidget':
D:/project/study/prac/form.cpp:13: undefined reference to `stopMovie(void*)'
collect2: ld returned 1 exit status
方便的话帮忙分析一下,谢谢

回复 发表
主题 版块