2

我正在尝试使用从命令行设置的标志,这样当输入它时,pri 文件会设置要在另一个 pri 文件中使用的变量。设置变量的 pri 工作正常,但是当我尝试从另一个实际需要使用它的 pri 访问变量时,我没有得到任何结果。

所以例如在 cmd

 qmake (parameters) --variable_name

在 parent.pri 中

 contains(options, --variable_name) {
      variable_name = true
      message("variable_name = " $$variable_name)
 }

输出 = variable_name = true

在 child.pri 中

 message("variable_name = " $$variable_name)
 if(variable_name = true) {
    // do stuff
 }
 else {
     return(true)
 }

输出 = 变量名 =

我相信这是正确的语法,但是在 child.pri 中,当我尝试回显为 variable_name 设置的值时,没有显示任何内容。

我可以使用 contains(options, variable_name) { }

但我只想在 parent.pri 中使用一次

4

1 回答 1

0

qmake 只执行 .pro 文件。.pri 文件有点像 C 和 C++ 中的标头,因为它们被 pro 文件中的内容替换。因此,要让一个 pri 文件“知道”另一个 pri 文件的指令,您需要在包含它的parent.pri任何地方child.pri或之前child.pri包含它。

于 2013-08-15T17:19:12.187 回答