Qt—动态库的创建和使用
Qt 创建 动态 使用
2023-09-14 09:05:12 时间
一、动态库是什么
很多人写程序的人都见过.lib和.dll文件,对动态库也略有耳闻。
生成动态库后可以得到两个文件,后缀名分别是.lib以及.dll。
简而言之,.lib称为导入库,相当于头文件;.dll是动态库文件,相当于cpp,头文件中函数的具体实现。
二、为什么使用动态库
使用动态库的优点很多,可以减少可执行文件的大小、实现资源共享、便于维护。比如在MFC中调用Qt。
QT文章推荐:Qt开发必备技术栈学习路线和资料
三、如何生成动态库
1.一个简单qt界面
我们的目标是创建这个界面的动态库,然后在其它程序中引入动态库,把该界面显示出来。
程序结构如下:
其中包括头文件、实现文件,以及界面ui文件,程序的主界面类DllTestWidget。
2.创建工程,准备动态库导出
a.创建完工程之后,设置工程属性。
b.链接器-常规-输出文件,设置动态库文件.dll生成路径。
c.链接器-高级-导入库,设置导入库文件.lib生成路径。
上面这些只是设置生成路径,如果不修改的话,一般生成在默认路径win32文件夹下。
3.编写程序,生成动态库
#ifdef TESTWIDGET_LIB
# define TESTWIDGET_EXPORT __declspec(dllexport)
#else
# define TESTWIDGET_EXPORT __declspec(dllimport)
#endif
如果生成的动态库,以后仍然供Qt使用,则直接加上上面的代码,导出该类即可;
如果不希望包含ui文件,则将其放入.cpp文件中即可;
如果生成的动态库以后在非Qt的环境下使用,则需要新建一个纯虚类,让Qt类继承它,实现其共有的虚函数即可。
QT文章推荐:Qt开发必备技术栈学习路线和资料
四、如何使用动态库
1.配置属性-调试-环境 加入生成.dll动态库目录路径。
2.C/C++-常规-附加包含目录 加入所需头文件.h路径。
3.链接器-常规-附加库目录 增加生成的导入库.lib的路径。
4.链接器-输入-附加依赖库 最后加入生成的导入库.lib文件。
按照上面的设置,我们便可以在其它地方使用之前生成的动态库啦。
相关文章
- [Qt教程] 第28篇 XML(二)使用DOM创建和操作XML文档
- Qt-QPropertyAnimation实现的动画按钮
- QT-Qt中MediaPlay的使用,播放视频或MP4
- Qt编写自定义控件53-自定义宽高下拉框
- Qt编写地图综合应用53-省市轮廓图下载
- Qt编写地图综合应用26-覆盖物交互
- Qt通用方法及类库5
- Qt系列文章032-QReadWriteLock和QWaitCondition线程同步
- paip.提升用户体验---c++ qt 悬浮窗实现
- Qt实现可拖动自定义控件
- Qt中的快捷键汇总
- Qt QGraphicsview缩放及还原
- Qt OpenGL 创建一个OpenGL窗口
- Qt Q_DECL_EXPORT的作用,生成.dll的同时生成.lib文件
- Qt多线程创建
- QT + VS 创建OCC项目
- 第18篇 基础 (十八)Qt 创建一个QtDesinger第三方控件
- QT应用编程: windows下使用UDT传输协议_创建工程示例(高速数据传输)
- qt 创建线程
- Qt QString转lpctstr
- Qt使用教程:添加编译器(一)
- Qt多线程学习:创建多线程
- Qt 事件机制
- 【Qt】通过创建ui界面类成员变量的方式显示窗体
- Qt——UDP服务端与客户端