Qt:将变量传递给子项目
我的项目结构如下:
Proj
Proj.pro
--subProj
--subProj.pro
----subsubProj
----subsubProj.pro
有没有办法我可以在subProj.pro中实例化全局变量并将其称为subsubProj.pro如:
Proj.pro:
GLOBAL_VAR = true
subsubProj.pro:
message($$GLOBAL_VAR)
更新
也许我应该更精确地解决我的问题。
在Qt Creator中,右键单击Proj并选择“Build project”Proj“”时,通常会调用qmake Proj.pro,然后调用qmake 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(...)
命令通过配置文件来做到这一点。
另一种方式(但更有限)是在qmake
参数列表中使用CONFIG+=GLOBAL_VAR
。 这种技术对'主'开关非常有用。
但是他们两个都不能在预生成过程中更改GLOBAL_VAR
(qmake步骤)...