项目记录-Qt pro pri 编译后拷贝文件

一、认识QMake工程文件基本元素

(1)变量可以用于存储临时的列表值,覆写存在的列表值或是扩展新的值

第一种赋值方法只包括同一行指定的值,下列代码显示了如何赋值列表值给变量:

HEADERS = mainwindow.h paintwidget.h

第二种赋值方法会使用“\”字符分隔列表值的项
变量的列表值可以使用如下方式扩展:

SOURCES = main.cpp mainwindow.cpp \
          paintwidget.cpp


(2)qmake会识别下列变量的值,并描述变量的内容

CONFIG:通用工程配置选项,是一个qmake生成MakeFile文件时的特殊变量。
DESTDIR:可执行文件或库文件的输出目录
FORMS:由uic处理的UI文件列表
HEADERS:构建工程使用的头文件列表
QT:Qt相关配置选项
RESOURCES:包含到最终工程的资源文件列表
SOURCES:用于构建工程的源文件列表
TEMPLATE:构建工程的模板,决定构建过程输出一个应用,一个库或是一个插件


变量的内容可以通过在变量名称前加“$$”符号来访问,用于将一个变量的内容赋值给另一个变量
TEMP_SOURCES = $$SOURCES
$$操作符可以被扩展用于操作字符串和值列表的内置函数中。


通常,变量用于包含空格分隔符的值列表,但有时需要指定包含空格的值,必须使用双引号包含。
DEST = "Program Files"
引号内的文本在值列表内作为单个值对待。类似的方法可以用于处理包含空格的路径,尤其是在Windows平台定义INCLUDEPATH和LIBS变量。

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

 

二、项目相关 - 编译后使用 qmake $$replace函数拷贝文件

pro文件包含pri文件,在pri文件中进行拷贝,如下图所示

//<  图中部分 WindowsTool.pri 代码

WindowsBuild {
    CONFIG      += WindowsToolEnabled
    DEFINES     += WindowsTool
    //< 将/替换为\\才能正确识别路径
    # replace函数的第一个参数必须是大写!
    DESTDIR_WIN = $$replace(DESTDIR, "/", "\\")
    PWD_WIN = $$replace(PWD, "/", "\\")

    QMAKE_POST_LINK += $$escape_expand(\\n) xcopy \"$$PWD_WIN\\dfu\\*.*\" \"$$DESTDIR_WIN\\dfu\\\" /S/Y  $$escape_expand(\\n)
}

实际使用

//< 地面站文件MainWindow.cc
//< "./"相对路径 与 QDir::currentPath() 绝对路径相同 
//< 路径(D:\Qt-Project\build-******-Desktop_Qt_5_9_3_MSVC2015_64bit-Debug)

QString program = QString("./dfu/DfuSe.exe");
QProcess  *_process = new QProcess;
_process->start(program);

./dfu/Dfuse.exe 可启动外部程序是因为在 WindowsTool.pri文件中,将外部程序拷贝至Debug下(Debug模式)

 

推荐大神关于cmake的文章

https://zhuanlan.zhihu.com/p/67458422?utm_source=com.youdao.note

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qtpro pri是一种源代码管理规范,是为了更加方便、灵活地管理大型项目的源代码而设立的。Qt是一个跨平台的C++应用程序开发框架,具有易于使用、可扩展、高兼容性等特点,被广泛应用于各种类型的软件开发中。而Qtpro pri则是基于Qt框架的多个.pro文件和一个.pri文件进行的项目管理规范。 在Qtpro pri模式下,每个子模块都有一个单独的.pro文件,而主模块则有一个.pri文件,主要用于存储所有的子模块的依赖关系和链接库信息。通过这种方式,可以实现模块化的编程方式,降低了各个模块之间的耦合度,提高了代码的可重用性和可维护性。 Qtpro pri项目管理规范,有以下几个优点: 1、方便管理:通过多.pro和一个.pri文件的方式管理项目,非常便于管理和维护大型的项目,尤其是对于代码库有多个开发人员同时参与开发的情况下,有助于降低开发成本和提高整体开发效率。 2、模块化编程:将程序拆分成不同的模块,各个模块之间相对独立,互相之间不会影响,同时也方便代码的重用和维护。 3、可扩展性:在Qtpro pri下,可以轻松地添加或删除子模块,通过维护.pri文件的依赖关系,子模块的变动不会对主模块产生重大影响,而且管理起来更加灵活和可扩展。 总之,Qtpro pri的优势在于易于管理,方便扩展和维护,同时也可以实现代码的模块化,减少了代码的耦合度,提高了代码的可读性和可维护性,因此被广泛应用于各种类型的软件开发中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值