【问题标题】:Qmake 5.3: define global variableQmake 5.3:定义全局变量
【发布时间】:2014-11-15 16:01:48
【问题描述】:

对于 Qmake 4,我基本上遵循 this guide 为所有包含的项目文件全局定义了一些 top_srcdir 变量。

现在,我想让我的 Qmake 文件也兼容 Qmake 5。它还没有真正起作用。该指南还告诉我创建一个文件.qmake.conf,内容如下:

top_srcdir=$$PWD
top_builddir=$$shadowed($$PWD)

但它似乎只是忽略了该文件。 (通过 Qt Creator,作为阴影构建,如果重要的话。)

如果我在根项目文件中指定相同,它不会导出到任何其他项目。

那么,我怎样才能导出变量以使其在所有子项目中都可用?或者如何为所有项目全局声明它?

【问题讨论】:

    标签: qt qmake


    【解决方案1】:

    Qt 4 和 Qt 5 之间存在根本差异,不允许您这样做。

    在您的情况下,最好的解决方案是使用.pri 文件和子目录的.pro 文件中的include()

    并且:在 Qt 5 中,您应该在 .qmake.conf 中使用 top_builddir=$$shadowed($$PWD),而不是您输入的内容。在 Qt 4 中,您应该在构建目录中放置一个名为 .qmake.cache 的文件,这有点复杂。

    【讨论】:

    • 好像有什么区别?我现在正在检查 Qmake 5 like here,而我的 .qmake.conf 基本上与我的 .qmake.cache.in 对 Qmake 4 所做的相同。到目前为止,它似乎工作得很好。
    • 嗯,你说你想让它们“兼容”,问题是没有办法,因为系统已经改变了。这种诡计是无证和不受支持的......
    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 2020-04-04
    相关资源
    最近更新 更多