打开qt creator
选择主菜单栏—文件-》新建项目(new project)
选择创建项目的模板----库项目—》c++ Libraray-------点击选择
开始填写项目的相关信息
1.项目名称
2.项目存放的路径
注意:1、2都不要有中文
因为我的项目采用qt5 ,构建采用qmake的方式
这里根据自己的需求进行变更
因为我们库编译就release就好了
其中大家可以看到我的build目录会生成一个影子目录(Desktop_Qt_5_15_0_MinGW_32_bit-Release)我们待会需要去掉影子目录
创建成功之后,点击编译
编译成功后我们可以看到自己的项目里面已经有编译好的库了
里面有静态库(.a)也有动态库(.dll),而这些东西都放到了影子目录中
在使用的时候路径导入的时候影子目录还有一些临时文件会对我们造成很大的不便,
我们需要去掉或者管理起来
***如何管理临时文件?***我们可以在工程文件里面加入
#去掉debug与release目录
CONFIG -= debug_and_release
#管理产生的临时文件与目标文件
PLATFORM = desktop
MOC_DIR = build/$${PLATFORM}/moc
RCC_DIR = build/$${PLATFORM}/rcc
UI_DIR = build/$${PLATFORM}/ui
OBJECTS_DIR = build/$${PLATFORM}/obj
DESTDIR = build/$${PLATFORM}/bin
重新构建项目,可以看到我们生成的库就已经放到了我们的工程目录下的build/desktop/bin目录里面了
到这里还不算完成,因为我们造库的目的不就是被其他项目使用
那为了方便被其他项目使用
我们需要借助.pri文件,那我们先创建一个
文件名记得加入后缀(.pri),这里文件名跟我们程序名命名一致,当然非必须的
如果一定要一致且必须,我会提醒大家的,这里可以不同名,但是我建议同名
然后点击下一步
接下来我们写一下pri里面的程序
#其中这里的$$PWD指的是flutool工程文件所在的目录
HEADERS += \
$$PWD/IdUtil.h \
#如果不编译成库,则引入cpp
#修改后,与使用的项目一起编译
SOURCES += \
INCLUDEPATH += \
$$PWD/
#编译成库,则导入库
#修改后需要重新编译成库,供其他项目使用
LIBS += \
-L$$PWD/build/desktop/bin -llibflutool
那如何被其他项目使用呢?
直接在项目untitled的工程文件里面引入.pri文件既可
这里的$$PWD 指的是untitled2.pro所在的目录
$$PWD/../flutool 指的是flutool.pri所在的目录
很明显为了方便引入库程序我把两个项目放到同一级了
include($$PWD/../flutool/flutool.pri)
引入成功后我们可以看到flutool工程的东西出现在我们的untitled2项目中了
如果是使用git管理项目
请在.gitignore文件里面过滤这些
build/
.qtc_clangd/
*.pro.user
.qmake.stash
Makefile