在qmake中定义子项目的编译顺序(依赖关系)

2023-05-16

背景

当一个大项目中包含多个子项目时,往往子项目之间有依赖关系,这时需要在pro文件中指明子项目的编译顺序,否则编译整个项目的时候可能会失败。

实现

现有项目一名称为Porject1,包含三个子项目分别为SubProject1、SubProject2、SubProject3、SubProject4
依赖关系如下:

SubProject2 ---->  SubProject1
SubProject4 ---->  SubProject2 SubProject3
//子项目2依赖子项目1,子项目4依赖子项目2和子项目3 所以编译顺序依次为子项目1、子项目2、子项目3、子项目4.

在这里插入图片描述
根据上述的依赖关系,pro文件内容如下:

TEMPLATE = subdirs
SUBDIRS += SubProject1 SubProject2 SubProject3 SubProject4

SubProject2.depends = SubProject1					#子项目2依赖子项目1
SubProject4.depends = SubProject2	SubProject3		#子项目4依赖子项目2和3

使用depends来指明项目的依赖项即可指定编译顺序。


结束

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在qmake中定义子项目的编译顺序(依赖关系) 的相关文章

  • qt qmake .qrc hasmodification time xxx in the future

    原因 xff1a 跨平台生成的 qrc 文件创建时间与目标平台时间不一致导致 xff0c 如win写的 copy 到 Linux xff0c 再编译可能会遇到该bug 导致无法qmake 与 build 解决 xff1a touch qrc
  • qmake中文官方文档

    qmake QMake提供了一个用于管理应用程序 库 其他组件的构建过程的面向工程系统 QMake扩展了每个工程文件的信息 生成一个执行编译和连接过程的Makefile 本文翻译自Qt 4 8官方文档 一 QMake使用 QMake提供了一
  • Qt中正确引用外部头文件和库文件的方法和注意点

    Qt中正确引入外部库文件的方法和注意点 一 什么报错是外部库导入错误导致的 二 解决外部库使用的方法 一 写入系统环境变量中的外部库调用 1 解释说明 2 使用演示 1 头文件 2 库文件 二 未写入系统环境变量中的外部库调用 1 解释说明
  • 如何使用 qmake 为单个源文件指定编译器标志?

    而其他源文件使用默认标志 我的一些源文件需要一些额外的 C 预处理器定义 我使用 Qt 5 我只发现 QMAKE CXXFLAGS 用于 qmake 项目中的全局使用 这就是过去在 Qt 源代码本身中进行 GUI 绘制的理论上的做法 SOU
  • 我如何在 QMake 中包含 python.h

    INCLUDEPATH L usr include python2 7 LIBS usr local lib python2 7 QMAKE CXXFLAGS usr local lib python2 7 error cannot fin
  • 将 -std=gnu++11 编译器标志添加到 QMake

    我正在 Windows 上使用 mingw32 和 g 4 9 3 编译 qt5 7 执行configure bat时 我收到此错误 C qt everywhere opensource src 5 7 0 configure bat pr
  • 如何从 qmake 生成 64 位 Visual Studio 项目

    我正在使用 Qt Creator 创建一些共享库和应用程序项目 以便我可以轻松地在 Windows 和 Linux 上构建它们 在 Windows 上 我们中的一些人更喜欢使用 Visual Studio 因此我想使用 Qt pro 文件生
  • 如何使用 qmake 指定目标 mac os x 版本

    我正在尝试使用 Qt Creator qmake 在 Mac OS X 上编译 c 11 代码 但出现以下错误 clang error invalid deployment target for stdlib libc requires O
  • 构建 qmake 项目时如何使用 C++14 功能?

    我目前在 Qt 应用程序中使用 C 11 功能 不过 我想在我的应用程序中使用一些新的 C 14 功能 要在 Qt 应用程序中启用 C 11 只需在qmake项目文件 即 CONFIG c 11 或者对于早期版本 QMAKE CXXFLAG
  • 向 qmake 添加一个带有值的定义?

    如何使用 qmake 添加带有值的定义 例如 这在我的 pro 文件中不起作用 如我所料 DEFINES WINVER 0x0500 nor DEFINES WINVER 0x0500 如何在开始编译之前将 WINVER 定义为 0x050
  • QT:qmake 无法识别 3dcore、3drender

    我在用qmake编译我的QT项目 在我的 pro文件我有一行 QT 3dcore 3drender 3dinput 3dextras 执行时qmake myprofile pro我收到错误 Project ERROR Unknown mod
  • Qt .pro 文件:如何检查我是否使用 MSVC 2013 工具集进行编译?

    我已经尝试过这个条件 但它不起作用 如何查看MSVC 2013 win32 msvc2013 QMAKE CXXFLAGS FS 我正在使用 Qt 5 3 Beta 它有msvc 2013 mkspec 抱歉 死亡帖子 但似乎没有可谷歌搜索
  • 项目错误:QT 中的未知模块:多媒体

    我正在尝试编译qGo https github com pzorin qgo 安装后qt5 git clone https github com pzorin qgo git cd qgo qmake make sudo make inst
  • 如何使用CMake检测目标架构?

    我已经做了很多研究 但无法找到答案 我如何使用 CMake 可靠地找到我正在编译的目标架构 基本上相当于qmake中的QMAKE TARGET arch 大多数来源似乎建议使用 CMAKE SYSTEM PROCESSOR 但这是一个糟糕的
  • 将自定义命令添加到 qmake 中的现有目标

    有没有办法指定 在 pro文件中 要添加到标准目标的额外命令Makefile that qmake产生 例如 考虑distclean 可能需要额外的命令来 Remove files 从源树中清除运行时生成的输出文件 Etc 我想使用普通目标
  • Qt:将变量传递给子项目

    我的项目的结构如下 Proj Proj pro subProj subProj pro subsubProj subsubProj pro 有没有一种方法可以在 subProj pro 中实例化全局变量并调用它 例如subsubProj p
  • 强制 QtCreator 在构建时运行“qmake”

    在我的一些项目中 我使用 pro 文件中配置的一些预构建步骤 所以qmake每当激活时都会执行此步骤 现在在 QtCreator 中 当我构建时 也是完全重建整个项目时 它并不总是运行qmake 因为它试图变得聪明并优化它 它仅在 pro
  • 如何在 Qt 子目录项目中设置构建顺序

    我有一个包含 5 6 个库和一个可执行文件的项目 可执行文件依赖于库 并且某些库依赖于其他库 如何指定构建顺序 以便在需要依赖项之前构建依赖项 Update 2021 年 2 月 2018 年 10 月 Qt 决定弃用 Qbs https
  • 从 Qt 中的 pro 文件获取值

    我在 Windows XP 中使用 Qt 4 5 我的 pro 文件有变量VERSION 1 0 现在我需要读取这个变量并获取它的值 1 0 来自源代码 这样我就不必在源代码中维护版本的另一个变量 我刚刚读取了 pro 文件并更新了它 这样
  • 安装 PyQt

    我正在尝试在我的 mac 上安装 PyQt 以便可以安装 python Ghost 我已经安装了Qt和SIP 我已经下载了 PyQt 但是当我运行时 python configure ng py 我收到以下错误 Error Use the

随机推荐

  • openCV学习笔记(5):使用sprintf函数实现在窗口连续显示同一文件夹下的图片

    一 环境 xff1a vs2010 43 opencv2 3 1 二 程序 xff1a include lt iostream gt include lt opencv2 highgui highgui hpp gt include lt
  • Java虚拟机:JVM 主要组成部分与内存区域

    一 JVM 主要组成部分 xff1a JVM的主要包含两个组件和两个子系统 xff0c 分别为 xff1a xff08 1 xff09 Native Interface 本地库接口 xff1a 与native lib 本地方法库 交互 xf
  • ubuntu22.04安装vmware tools

    前言 安装VMware Tools经常会出现兼容性不好 xff0c 系统之间复制文件失灵 xff0c 并且安装时提示建议使用open vm tools xff0c 于是放弃vmware tools的安装 xff0c 尝试使用open vm
  • ubuntu22.04安装ibus中文输入法

    前言 IBus xff08 英文全称为Intelligent Input Bus xff09 xff0c 是GNU Linux和类UNIX操作系统下的以GPL协议分发源代码的开源免费多语言输入法框架 首先 在安装中文输入法之前 xff0c
  • 信息安全之数字信封原理

    概述 一般来说对称加密算法的密钥短 xff0c 加密算法简单 xff0c 适用于大量数据加密的场合 xff0c 在现在的技术条件下比较容易破解 xff1b 相比较而言非对称加密的密钥长 xff0c 加解密算法复杂 xff0c 很难破解 xf
  • 信息安全之信息摘要技术

    什么是信息摘要 xff1f 指一段数据的特征信息 xff0c 当数据发生了改变 xff0c 信息摘要也会发生改变 信息摘要是由哈希函数生成的 主要为了保证数据的完整性 xff0c 保证接收到的数据不被篡改 常见的摘要计算方法有MD5 128
  • 信息安全技术之数字签名

    什么是数字签名 xff1f 就类似于生活中公司发布一些文件 放假通知啥的 xff0c 老板会在文件的后面签名或者会盖上公司的印章 xff0c 目的就是标识这个文件是公司发布的 在计算机中我们没办法像真实世界那样签名 xff0c 这时候我们就
  • 设置Mysql C API断线自动重连

    Mysql的C API自带重连功能 xff0c 执行语句时发现连接断开 xff0c mysql库会尝试重连 xff0c 并重新执行语句 使用mysql options函数设置MYSQL OPT RECONNECT选项可以开启自动重连功能 默
  • mysql_query()和myql_real_query()的区别

    函数原型 span class token keyword int span span class token function mysql query span span class token punctuation span MYSQ
  • mysql_store_result和mysql_use_result的区别

    mysql store result 本次查询的所有结果都缓存到客户端 xff0c 这样做的好处是可以随意的访问结果中的值 xff0c 例如可以使用mysql data seek 和mysql row seek 访问任意位置的数据或者行 同
  • linux下实时跟踪文件变化tail指令

    很多时候我们程序进入后台之后 xff0c 日志信息会写入到文件中 此时如果用一般的文件操作指令 例如cat xff0c 手动的一次一次的查看 tail命令在这个时候就非常有用 span class token comment 使用 f参数指
  • 【教程】老主板可以用上Nvme协议的固态硬盘?当然可以!!!!(注意:只适用于支持UEFI BIOS的主板)

    如今固态硬盘分为SATA协议和Nvme协议的 xff0c 虽然SATA协议的固态硬盘已经可以满足大多数用户的需求 xff0c 但是和Nvme协议的固态硬盘比起来差别还是很大的 xff0c SATA协议的固态硬盘最多500 600MB s的传
  • 解决windeployqt打包QML程序无法启动的问题

    windeployqt exe是qt自带的打包工具 xff0c 在打包qml程序时需要带上 qmldir参数 xff0c 指定qml导入符号的路径 xff0c 否则会出现无法启动的问题 windeployqt xxx exe qmldir
  • windows下如何找到占用文件或文件夹的程序

    我们在操作一个文件或文件夹时 xff0c 经常会遇到被占用的问题 xff0c 如下图 绝大部分情况下我们知道是那些程序占用 xff0c 可以直接关闭他 xff0c 但是也有很多时候我们不知道是哪个程序占用的 xff0c 可以用下面的方式来解
  • 正则表达式的零宽断言

    概念 断言 xff1a 就是说正则可以指明在指定的内容的前面或后面会出现满足指定规则的内容 零宽 xff1a 代表断言是一个占位符 xff0c 并不会在查找结果中输出 实例 使用的测试原文如下 xff1a lt w t gt 测试1 lt
  • 如何在Qt中使用zlib

    前言 环境 xff1a qt5 9 9 zlib1 2 1 windows10 QtCreator4 11 0 本文介绍了在Qt中使用zlib的方式 使用的场景是在上位机软件中使用解压缩功能 点击此处下载本文完整的示例代码 问题 比较麻烦的
  • 如何在程序中解析获取word文档(docx格式)的文本内容

    原理 docx格式的word文档其实是一个压缩包 xff0c 文本内容 格式 图片等是分别存储在不同的文件中的 xff0c office通过这些文件还原出我们所看到的word文档 下面以一个简单的示例来说明docx格式 示例 首先我们新建一
  • QFormLayout布局该什么时候使用

    概述 QFormLayout是一种支持两列的格子布局方式 xff0c 左列是标签 xff0c 右列是窗口部件 可以方便且快速的实现标签和输入组件的组合 xff0c 如下图 示例 像上面的例子 xff0c 使用QGridLayout 栅格布局
  • Qt判断文件类型 QMimeType

    前言 通常来说我们判断一个文件的类型是根据后缀名称来的 xff0c 例如 xff1a txt是文本文件 exe是二进制文件可执行程序 在程序中需要预设后缀名称 xff0c 有些时候不太容易把属于某类文件的后缀名写全 比如说图片类型的文件 x
  • 在qmake中定义子项目的编译顺序(依赖关系)

    背景 当一个大项目中包含多个子项目时 xff0c 往往子项目之间有依赖关系 xff0c 这时需要在pro文件中指明子项目的编译顺序 xff0c 否则编译整个项目的时候可能会失败 实现 现有项目一名称为Porject1 xff0c 包含三个子