qt5.9 子项目创建及qt项目管理

前言

工程组织结构和动态库引用,是c++作为一个项目开发的一个必要的知识领域。多工程多工作目录,库如何调用问题。

首先了解下工程目录结构,并不是所有的,只是一个广泛的目录结构,大家可以先看看。

l app:可执行文件(界面代码)

l lib(Library ):库(外部调用)

l src: 存放软件所有的源代码(核心代码)

l bin:编译后,生成的可执行文件,库目录

l make_bin:编译库文件目录(也可以不进行更改)

创建目录

首先我们创建一个总的项目文件夹:project:

qt5.9 子项目创建及qt项目管理

qt版本为5.9.1

创建一个子目录项目:

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

点击取消,已经创建一个空的项目工程了

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

添加一个子项目app

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

添加lib库和dll库

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

同样的步骤,添加dll

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

添加src子项目

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

设置编译目录和生成可执行目录

qt5.9 子项目创建及qt项目管理

可执行目录是main_make/bin

qt5.9 子项目创建及qt项目管理

设置构建项目路径,这个至关重要。

qt5.9 子项目创建及qt项目管理

这样子所有的编译出来的文件都存放在make_bin里了

qt5.9 子项目创建及qt项目管理

设置生成可执行文件目录执行(运行)目录

这个可执行文件在构建编译后的文件目录即在main_make文件夹下

qt5.9 子项目创建及qt项目管理

那么main.pro编译后的目录在main_make/目录下

那么app.pro所编译的目录在,main_make/app目录下

所以

DESTDIR = ../bin/MyDebug# 指定生成的应用程序放置的目录

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

设置执行编译顺序

静态库和动态库先编译再编译可执行界面

qt5.9 子项目创建及qt项目管理

添加静态库工程

qt5.9 子项目创建及qt项目管理

可以单独再建立好多的项目,再建立库,也可以只建立一个库

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

设置生成动态库路径,可放在可执行文件路径:

那add.pro编译后的文件路径则是

main_make/lib/add目录下

DESTDIR += ../../bin/MyDebug# 指定生成的应用程序放置的目录

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

可以先写一段代码测试功能

在Add类库中写一函数

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

在界面项目中,指定库的头文件路径

qt5.9 子项目创建及qt项目管理

测试

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

这样子已经跑起来了

qt5.9 子项目创建及qt项目管理

添加动态库

操作和静态库类似

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

指定生成的dll路径

qt5.9 子项目创建及qt项目管理

在app.pro中,指定头文件和库名称

qt5.9 子项目创建及qt项目管理

在动态库中添加一个函数,进行测试

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

qt5.9 子项目创建及qt项目管理

相关文章: