gpt4 book ai didi

Qt:将变量传递给子项目

转载 作者:行者123 更新时间:2023-12-04 12:36:40 24 4
gpt4 key购买 nike

我的项目结构如下:

Proj
Proj.pro
--subProj
--subProj.pro
----subsubProj
----subsubProj.pro

有没有办法可以在 subProj.pro 中实例化一个全局变量并将其称为 en 例如subsubProj.pro 喜欢:

项目.pro:
GLOBAL_VAR = true

subsubProj.pro:
message($$GLOBAL_VAR)

更新

也许我应该更精确地解决我的问题。

当您右键单击 Proj 并选择“构建项目”Proj”时,Qt Creator 中的通常行为是调用 qmake Proj.pro,然后调用 qmake subProj.pro,然后调用 subsubProj.pro

我想要实现的是:
  • 当我构建项目“Proj”时,只有 Proj.pro 和 subProj.pro 被调用(不是 subsubProj.pro)
  • 但是:当我构建项目“subProj”时,调用的文件是 subProj.pro 和 subsubProj.pro

  • 您可以通过添加到 subProj.pro 来实现 1):
    TEMPLATE = subdirs
    dont_invoke_subsub{
    SUBDIRS = subsubProj
    }

    在这种情况下,当您执行 qmake Proj.pro 1) 时就完成了。
    但是,当您执行 qmake subProj.pro 时,subsubProj 也不会构建。

    所以我的想法是将一个变量从 Proj 交给 subProj。
    Proj.pro:

    GLOBAL_VAR = true;

    和 subProj 检索此变量:
    subProj.pro

    TEMPLATE = subdirs
    equals(GLOBAL_VAR, true){
    # do nothing because Proj.pro invokes you
    }
    else {
    # invoke qmake subsubProj.pro
    SUBDIRS = subsubProj
    }

    最佳答案

    我设法用 include(...) 做到了这一点。通过配置文件命令。

    另一种方式(但更有限)是使用 CONFIG+=GLOBAL_VARqmake参数列表。该技术对于“主”开关非常有用。

    但是对于它们两者,您都无法更改 GLOBAL_VAR在预构建过程中(qmake 步骤)...

    关于Qt:将变量传递给子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662644/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com