• 11157阅读
  • 5回复

在QT中如何连接DLL的导入库(import lib) [复制链接]

上一主题 下一主题
离线bruce1007
 
只看楼主 倒序阅读 楼主  发表于: 2006-05-17
我的应用程序是在WIN32下用MINGW32和QT做的,现在需要使用一些第三方的DLL库,请教如何链接DLL的导入库文件(import lilb)?

多谢
离线XChinux

只看该作者 1楼 发表于: 2006-05-17
很简单,你在.pro文件里加上下面段落:
INCLUDEPATH += yourimportlibraryheaderfilepath
LIBS += -Lyourimportlibrarypath -lyourimportlibraryname


比如我写过的一个QT软件里,有这样的段落:
INCLUDEPATH += ../../include
LIBS += -L../../lib -linterface


在这里,../../include里有interface.h头文件,../../lib目录下面有libinterface.a库文件。

如果你的库文件是.lib形式的,你直接在-l后面跟上你的库文件全名即可。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bruce1007
只看该作者 2楼 发表于: 2006-05-17
我之前这样做过,但是make时报某些函数无法连接,害得我只好用QLibrary,我再试试吧,多谢。
离线XChinux

只看该作者 3楼 发表于: 2006-05-17
你的lib如果格式不符合mingw编译器的要求的话,你可以使用工具辅助使用。
具体你可参考Qt Installing版置顶帖中的用mingw编译mysql驱动的帖子:

http://www.qtcn.org/bbs/read.php?tid=4210
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bruce1007
只看该作者 4楼 发表于: 2006-05-17
有道理,我的LIB是COFF格式,估计用在QT上有问题。谢了
离线bruce1007
只看该作者 5楼 发表于: 2006-05-17
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

方便的话帮忙分析一下,谢谢
快速回复
限100 字节
 
上一个 下一个