Qt多项目管理动态库使用(QMake)
要管理大型项目和对代码可以进行复用,可以在同一项目之中创建不同的模块,提供调用库的形式进行调用,实现各模块的分块编写和处理,下面介绍我自己写的一个demo,结合之前编写的一些组件实现。一共创建了两个项目,一个项目是调用的内部库,我的库直接在此项目下进行创建,另一个是调用的外部库实现。
实现结果
下面的Contrlo_Res是我搭建的动态库,mainPro调用动态库里面封装的,此时它们位于同一个目录下,mainPro调用的是内部动态库。这样的好处了可以对大型项目进行分块管理。
这里就是调用的外部库,这样的好处就是封装好的一些控件不用cv代码重新创建。
详细步骤
1.新建项目
新建一个qt项目,选择其他项目,点击子目录项目,然后选择choose,命名之后,会出现窗口再次进行新建,这时选择Qt Wdigets Application,choose并且进行命令,这便是项目的主入口。
2. 新建库
右键项目,点击新子项目,选择Library,选择C++Library,然后命名结束
3.构建控件
先进行.pro文件添加
然后创建新的C++ class创建,重点在下,CONTROL_RES_EXPORT
下图的代码是用于定义动态链接库(DLL)导出和导入符号的 C++ 头文件,里面的define 定义的CONTROL_RES_EXPORT宏的定义便于其他程序链接和使用。
这里便是使用了global.h文件中定义的宏
4.库的加载和调用
右键程序主入口点击添加库,选择内部库,因为内部库以及创建,因此目录直接生成好,若有其他的内部库则进行选择添加。然后.pro文件里面便是生成引入库的代码
(外部库的调用也是一样,只是最后需要找到放置的库的.a文件)
5.调用控件
下图,我的card和mymaintitle便是库里面定义的控件,成功引入后便可以创建并且对控件进行调用,这个方法也适用于调用其他的模块。注意的是运行的环境需要与你编译的库的环境一致。
希望对大家有所帮助。
原文地址:https://blog.csdn.net/qq_57049935/article/details/144458351
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!