11

我有以下 *.pro 文件:

领导解决方案的人

# head - pro file :
TEMPLATE = subdirs
CONFIG = qt thread ordered

# save root directory
PROJECT_ROOT_DIRECTORY = $$_PRO_FILE_PWD_
message("Master pro file path : ["$${PROJECT_ROOT_DIRECTORY}"]") // output : "Master pro file path : [/Path/To/Directory]"

# project subdirs
SUBDIRS += PROJECT1

# PROJECT1 - pro file :
TEMPLATE = app

# etc.

# output 'PROJECT_ROOT_DIRECTORY ' contents
message("Master pro file path : "$${PROJECT_ROOT_DIRECTORY}) // output :  "Master pro file path : []"

如何在 2 个 pro 文件之间传递变量(这里的变量是PROJECT_ROOT_DIRECTORY)?

编辑 :

这与这个问题相同,但我看不出“另一种选择是”答案对我有什么帮助。

4

1 回答 1

9

您可以将变量定义放在一个.pri文件中,然后将其包含在.pro您想要的所有文件中。请注意,您需要告诉.pro子目录中的文件找到.pri文件的路径。

头.pro:

# head - pro file :
TEMPLATE = subdirs
CONFIG = qt thread ordered

# configuration
include(config.pri)
message("Master pro file path : ["$${PROJECT_ROOT_DIRECTORY}"]") # output : "Master pro file path : [/Path/To/Directory]"

# project subdirs
SUBDIRS += PROJECT1

配置.pri:

# save root directory
PROJECT_ROOT_DIRECTORY = $$PWD // not $$_PRO_FILE_PWD_!

项目1/项目1.pro:

# PROJECT1 - pro file :
TEMPLATE = app

# configuration
include(../config.pri)  # note that you need to put "../" before the .pri path
message("Master pro file path : ["$${PROJECT_ROOT_DIRECTORY}"]") # should now output :  "Master pro file path : [/Path/To/Directory]"
于 2012-07-08T09:59:48.873 回答