Qt 制作和使用自己制作的 静态库

目录

------------------------------------

需要使用库的原因:

1. 在跨平台软件中,如在linux OS中,当直接使用到 win 专有命令时,将(可能)无法通过编译。

这时,将 win命令在 win中包装成库来使用,在linux中进行调用,即可通过编译;只是在linux OS中,当实际调用中会出现错误,因此,当发生这类调用时,需要增加 OS类型判断处理代码。

------------------------------------------------------------

参考:
Qt 制作和使用自己制作的 静态库
https://blog.csdn.net/ken2232/article/details/130447146

Qt 中添加 动态库(.so) 和 静态库 (.a) 的方法 (*)
https://blog.csdn.net/ken2232/article/details/130447069

Qt 动态库/静态库的创建和使用教程(step by step) :带笔记(**)
https://blog.csdn.net/ken2232/article/details/130446757

=====================

使用Qt制作静态库

首先展示一下正常创建的一个Qt Widgets工程图:


第一步就是修改Qt的工程文件(.pro)文件,这个文件主要作用是用于生成makefile文件。将 TEMPLATE = app修改为TEMPLATE = lib告诉编译器我们不是要构建一个应用程序,而是要构建一个制作库文件的工程;还有就是添加CONFIG   += staticlib 告诉编译器我们是要制作静态库。当然不能有主函数的存在了,不然构建完不能执行会无端弹出一个框,所以把你的main.cpp(含主函数的文件)从工程文件中移除。详见下图:

第二步就是根据编写的工程文件执行qmake去生成makefile文件


执行qmake生成的结果:


第三部就是构建这个制作静态库的工程:


构建后生成的静态库:

这样我们就得到了我们制作的静态库libQtWindow.a,接着我们看看如何来使用自己制作的静态库。


二. 使用自己制作的静态库

使用自己制作的静态库步骤如下:
1.修改工程文件:设置 TEMPLATE = app 因为我们要构建一个应用程序了;第二个是指定刚才制作好的静态库的路径 我这边路径是当前目录下的debug目录,所以我指定

LIBS += -L ./debug/ -lQtWindow


2、修改完工程文件完成后,你就可以向使用你写的源文件那样使用静态库了,在你要使用这个功能块(或者是一个类等等)的地方包含它的头文件,然后就可以调用你实现的方法了(构建过程上面提过就不在多说了)。

运行结果展示一下证明我们制作的静态库是没有问题的:


当头头文件比较多的时候建议包含在一个头文件中,然后其他头文件和这个文件放在同一个目录下,这样调用者就可以只包含一个头文件了,省去很多功夫。而且工程文件中也不用将其他头文件都添加到 HEADERS 变量中,编译器默认回去查找,楼主自己试过是这样的,使用的是Qt 5.8.0。如果实在不行的话,可以考虑将所有的头文件都添加到工程文件的HEADERS变量中。
————————————————
版权声明:本文为CSDN博主「屌程」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Heaven_Evil/article/details/78468340

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值