怎样在Qt中建立使用动态链接库

 我来答
最爱寂寞的刺猬
2017-06-19 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.3万
采纳率:66%
帮助的人:1657万
展开全部
工具/原料
安装有Qt集成开发环境的Windows或Linux
一、建立并生成动态链接库
1
首先在磁盘的某个位置建立一个名为DllDemo的文件夹。
打开QtCreator,新建工程,选择Library,C++库,然后就是choose。
2
然后在弹出的C++库对话框默认类型共享库,名称为MyDll。路径就是刚才建立的DllDemo文件夹。然后,一直下一步,直到点击完成。
3
来看看程序结构,以及pro文件内容。
可以看到系统自动生成了一个mydll_global.h的文件。
pro内也自动生成了一些内容。可以看到TEMPLATE = lib,而不是平时的TEMPLATE = app。
4
再来看看mydll_global.h的内容。
可以看到系统自动定义了两个宏。用于声明哪些函数是需要导出的。
5
下面来给代码添加点内容,以便于待会使用。
首先我们在mydll.h中添加几行代码,
注意:extern "C" MYDLLSHARED_EXPORT必须要有。
6
再来看看mydll.cpp中的实现代码,都比较简单。
7
代码编写完毕后,直接构建就行了。然后就可以看到生成的dll了。
二、测试生成的DLL
1
新建一个基于Qt的控制台应用程序,名称为DllTest。依然放置在DllDemo的目录下。
2
建好了以后,就可以在main.cpp写代码了。通过QLibrary类来加载dll。
因为要获得类对象的实例,所以需要将mydll.h包含进来。
要注意的是,我没有对函数是否成功获取做检测。
来看看代码:
3
代码写完后就可以构建程序了。不过要运行程序,还需要将刚才生成的dll拷贝到程序的同级目录。
4
在IDE中运行程序,因为生成的是debug版的程序,相关的环境变量未设置,无法独立运行。
可以看到dll工作的很好,程序运行正常。
三、善用Assistant
1
最后来看看Assistant中关于QLibrary的描述。比较费解的是,Assistant中并没有对创建共享库做详细的说明,估计是这个太简单或资料太多了吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式