手把手教你用Qt制作和使用自己制作的静态库

使用Qt制作静态库 

首先展示一下正常创建的一个Qt Widgets工程图:
手把手教你用Qt制作和使用自己制作的静态库_第1张图片

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

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

手把手教你用Qt制作和使用自己制作的静态库_第3张图片

执行qmake生成的结果:

手把手教你用Qt制作和使用自己制作的静态库_第4张图片

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

手把手教你用Qt制作和使用自己制作的静态库_第5张图片
构建后生成的静态库:
手把手教你用Qt制作和使用自己制作的静态库_第6张图片

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


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

使用自己制作的静态库步骤如下:
1.修改工程文件:设置 TEMPLATE = app 因为我们要构建一个应用程序了;第二个是指定刚才制作好的静态库的路径 我这边路径是当前目录下的debug目录,所以我指定 LIBS += -L ./debug/ -lQtWindow
手把手教你用Qt制作和使用自己制作的静态库_第7张图片

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

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

手把手教你用Qt制作和使用自己制作的静态库_第8张图片

当头头文件比较多的时候建议包含在一个头文件中,然后其他头文件和这个文件放在同一个目录下,这样调用者就可以只包含一个头文件了,省去很多功夫。而且工程文件中也不用将其他头文件都添加到 HEADERS 变量中,编译器默认回去查找,楼主自己试过是这样的,使用的是Qt 5.8.0。如果实在不行的话,可以考虑将所有的头文件都添加到工程文件的HEADERS变量中。

你可能感兴趣的:(Qt)