自学内容网 自学内容网

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)!