• 16185阅读
  • 15回复

如何用QT创建dll [复制链接]

上一主题 下一主题
离线寒雨
 
只看楼主 倒序阅读 楼主  发表于: 2007-10-30
— 本帖被 XChinux 执行加亮操作(2007-10-31) —
我编写了几个基于QWidget类的派生类,现在想把它做成dll文件,不知用QT如何创建该dll,并能使用dll中的类,有高手能帮忙回答一下吗?
[ 此贴被寒雨在2008-01-19 12:34重新编辑 ]
性格决定人生
离线寒雨
只看该作者 1楼 发表于: 2007-10-30
就如同在VC中用Win32 Dynamic - Link Library 创建的项目一样,能编译生成dll和lib文件,引入lib文件后就可以自由使用dll里面的类了.没有人做过?
性格决定人生
离线XChinux

只看该作者 2楼 发表于: 2007-10-31
.pro文件中将TEMPLATE设置为lib
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gjczhhbz

只看该作者 3楼 发表于: 2007-10-31
template 置为lib ,如果你使用的是msvc编译器(我的就是),那么生成的是dll(我的是生成dll成功了,但是调用此dll却失败了,惭愧);如果置为staticlib,那么生成的是lib,对于lib很好用的,只是最后可执行文件比较大,呵呵,
离线寒雨
只看该作者 4楼 发表于: 2007-11-01
昨天自己摸索了一下,把Template设置成vclib(我用vs2005),然后在类名前加上__decspec(dllexport)后,发现生成了lib文件,编写测试程序可以正常使用.但发现一个新的问题,如果要修改了dll的项目文件,也就需要重新编译引用它的项目程序.
性格决定人生
离线yeguoxiong

只看该作者 5楼 发表于: 2009-03-22
如何生成Dll和如何调用Dll能说得更为详细些吗?
我在VS2008下生成的QT DLL,生成过程DLL没问题。
但像普通引用时提示找不到文件(我将生成好的DLL文件放在工程当前目录下),是我方法不对还是须要注意些其他什么的?
离线浪漫天使
只看该作者 6楼 发表于: 2009-03-23
离线5706046

只看该作者 7楼 发表于: 2009-07-03
搞定咯没?
离线zuoyi

只看该作者 8楼 发表于: 2010-02-02
顶!
学习Qt技术...
离线11932660

只看该作者 9楼 发表于: 2010-03-29
6楼已经做了一个很好的示范。。
帮顶
离线磐石
只看该作者 10楼 发表于: 2010-03-29
感觉可以模仿QextSerialPort 编译(http://hi.baidu.com/moxie7918/blog/item/a9e7dac4e1ef25a38326acd7.html),这个例子好像就是编译得到第三方库,再使用该库,下载qextserialport-1.1.tar.gz,看里面的.pro文件
不怕做不到,只怕想不到
离线luoyes

只看该作者 11楼 发表于: 2010-03-31
mark
离线jerychang
只看该作者 12楼 发表于: 2010-04-21
顶,顶,顶
QT HAO..
离线conta
只看该作者 13楼 发表于: 2010-10-08
6楼的例子出问题了,

问题是:


linklib工程里需要mylib.lib


但是mylib工程并没有生成mylib.lib啊,只生成了mylib.dll和mylib.a



有谁知道为什么吗?
离线conta
只看该作者 14楼 发表于: 2010-10-08
我把  linklib工程里的pro的

LIBS += mylib.lib

改为:

LIBS += mylib.dll


这样调试运行通过了。


但是不知道为什么?
离线lipingping

只看该作者 15楼 发表于: 2012-05-03
有LINUX环境下的吗?
学海无涯
快速回复
限100 字节
 
上一个 下一个