Qmake 5.3:定义全局变量
Posted
技术标签:
【中文标题】Qmake 5.3:定义全局变量【英文标题】:Qmake 5.3: define global variable 【发布时间】: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,作为阴影构建,如果重要的话。)
如果我在根项目文件中指定相同,它不会导出到任何其他项目。
那么,我怎样才能导出变量以使其在所有子项目中都可用?或者如何为所有项目全局声明它?
【问题讨论】:
【参考方案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 所做的相同。到目前为止,它似乎工作得很好。
嗯,你说你想让它们“兼容”,问题是没有办法,因为系统已经改变了。这种诡计是无证和不受支持的......以上是关于Qmake 5.3:定义全局变量的主要内容,如果未能解决你的问题,请参考以下文章