原文链接:https://blog.csdn.net/michip_lwx/article/details/104027914
一般我们创建Qt项目工程的时候,都是直接把所有的项目,头文件和资源文件等全放入pro中,这样一来小的项目(只有少数几个文件)那种,你可能就会觉得没有什么,但是在一些中大型的开发项目当中,可能会有十几个,甚至几十个文件的开发项目中,我们看树形结构的文件时,就会感到很杂乱,pri文件的作用就尤为重要了。简单来说,pri文件就是把pro文件中的一部分放到pri文件中进行一个管理,类似头文件,进行分块管理,分担pro文件的一部分压力,这样一来pro文件看起来就不会显得很臃肿。
对于初学者来说,如何创建pri文件也算是件蛮头疼的事,下面就简单讲讲创建pri文件的步骤。
首先按照原本创建Qt那样创建一个简单的QWidget的项目,如下图所示:
1、在创建的PriProTest工程下创建一个文件夹PriTest,并创建pritest.pri文本:
2、在pro中添加pri文件,像下面那样添加相应的代码,并ctrl+B,就会出现如下图所示情况:
QT += core gui
include( ./PriTest/pritest.pri )
3、以上一步就已经成功添加一个pri文件了,就可以在PriTest文件夹下添加我们想要的一些C++资源或文件:
1、在test.h文件随便写一个加法的调试方法,已验证pri文本能否起作用。
#ifndef TEST_H
#define TEST_H
#include
#include
class test : public QWidget
{
Q_OBJECT
public:
explicit test(QWidget *parent = nullptr);
public:
static int add(int a, int b)
{
qDebug() << "a + b=" << a+b;
return a+b;
}
signals:
public slots:
};
#endif // TEST_H
2、在widget.cpp的构造函数中调用:
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//调试验证
qDebug() << "调试...";
test::add(4, 6);
}
Widget::~Widget()
{
delete ui;
}
https://blog.csdn.net/liang19890820/article/details/51774724
Qt之pro配置多个子工程/子模块
qt5.9 子项目创建及qt项目管理
QT创建子目录项目,可以让项目组织成树形结构的示例:在项目中同时创建Application和第三方动态库(内部)
======================================================================================
进行Qt项目开发的时候,尤其是大型项目,经常涉及多工程/多模块问题,其主要思想还是模块化,目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。
配置如下:
配置TEMPLATE为subdirs设置多工程
配置SUBDIRS,指定需要添加的工程模块
配置CONFIG为ordered指定顺序编译
例如:
TEMPLATE = subdirs
#SUBDIRS += \
# SubProject3 \
# SubProject2 \
# SubProject
SUBDIRS +=
PWD/SubProject3/SubProject3.pro
PWD/SubProject2/SubProject2.pro \
$$PWD/SubProject/SubProject.pro
CONFIG += ordered
延续多工程,如果某一个工程功能比较多,我们必然要进行模块化。例如:界面工程包含:登录界面、设置界面、主界面。。。这时,我们就可以使用pri模块化了。
include(PWD/Login/Login.pri)
include(PWD/Settings/Settings.pri)
include($$PWD/MainWindow/MainWindow.pri)
原文链接:https://blog.csdn.net/wrzfeijianshen/article/details/77861855
所有的课件可以去https://github.com/wrzfeijianshen/Courseware 下载哦
关于下载地址详见于:http://www.feijianshen.com/?p=57
或者http://blog.feijianshen.com/?p=57
工程组织结构和动态库引用,是c++作为一个项目开发的一个必要的知识领域。多工程多工作目录,库如何调用问题。
我从网上也找了几篇关于qt如何建立子项目等等的介绍,也不详细。如何先让小白跑起来,这才是重要一步,写代码多了,自然就成神了,第一步总得尝试。
首先了解下工程目录结构,并不是所有的,只是一个广泛的目录结构,大家可以先看看。
l app:可执行文件(界面代码)
l lib(Library ):库(外部调用)
l src: 存放软件所有的源代码(核心代码)
l bin:编译后,生成的可执行文件,库目录
l make_bin:编译库文件目录(也可以不进行更改)
首先我们创建一个总的项目文件夹:project:
qt版本为5.9.1
设置构建项目路径,这个至关重要。
这样子所有的编译出来的文件都存放在make_bin里了。
设置生成可执行文件目录执行(运行)目录
这个可执行文件在构建编译后的文件目录即在main_make文件夹下。
那么main.pro编译后的目录在main_make/目录下
那么app.pro所编译的目录在,main_make/app目录下
所以
DESTDIR = …/bin/MyDebug# 指定生成的应用程序放置的目录
那add.pro编译后的文件路径则是
main_make/lib/add目录下
则
DESTDIR += …/…/bin/MyDebug# 指定生成的应用程序放置的目录
可以先写一段代码测试功能
在Add类库中写一函数
在界面项目中,指定库的头文件路径。
测试
这样子已经跑起来了。
操作和静态库类似
指定生成的dll路径。
在app.pro中,指定头文件和库名称。
在动态库中添加一个函数,进行测试
到这里算是演示成功了,不过是简单的一个小小demo。qt的多项目多多练习终能成为大才。
文件》新建文件或项目》其他项目》子目录项目:
点击Choose,设置名称和创建路径。
在上一步创建完成后弹出的新建子项目框中,Application》Qt Widgets Application
点击Choose,设置名称(创建路径默认即可)
没有特殊需要的话就一直下一步直至Application创建完成:
项目目录名称右击》新子项目:
Library》C++库
点击Choose,设置名称(创建路径默认即可)
没有特殊需要的话就一直下一步直至Application创建完成:
此时主项目下有两个子项目,Application需要连接动态链接库才能调用,所以要连接。
Application项目目录名称右击》添加库:
内部库》下一步:
下一步完成即可,添加库会在Application项目pro文件中生成下面几行代码:
下面先点击小锤子构建,然后测试就可以了!