QtCreator:包含子项目的外观(.pri)

时间:2012-04-15 18:19:28

标签: qt qt-creator

我在QtCreator中有两个项目,它们都在另一个目录中包含两个.pri文件:

[common]
    * common.pri
    * database.pri
    * ...
[projects]
    [project1]
        * project1.pro
        * ...
    [project2]
        * project2.pro
        * ...

让我们专注于一个.pro文件。它包含两个包括:

COMMONPATH = ../../common

# INCLUDE COMMON FILES
!include($${COMMONPATH}/common.pri) {
    error(Failed to include common/common.pri)
}

# INCLUDE DATABASE FILES
!include($${COMMONPATH}/database.pri) {
    error(Failed to include common/database.pri)
}

保存.pro文件后,QtCreator没有注意到项目管理器中的两个.pri文件。

过了一段时间(我不记得我做了什么) QtCreator显示了两个.pri文件中的一个,如屏幕截图所示:

Project Manager

我现在卡住了,因为我无法告诉为什么QtCreator没有显示第二个.pri文件,就像它显示第一个一样,也不是为什么它只显示第一个一段时间......

我尝试用它的值替换$$ {COMMONPATH}变量,删除错误处理,多次重启QtCreator,多次从菜单运行qmake,...

2 个答案:

答案 0 :(得分:1)

好的,这很奇怪。我只是弄清楚为什么Project Manager不显示第二个包含的.pri文件:

该文件包含error(...)语句,该语句本身包含'字符,由qmake正确解释,但项目经理错误解释!后者显然将'解释为字符串封装令牌或类似的东西。

来自common / database.pri:

!include(<anotherPriFile>) {
    error(Can't find file for inclusion!)
}

正确版本(已移除'):

!include(<anotherPriFile>) {
    error(Cannot find file for inclusion!)
}

我正在使用这个QtCreator版本:

Qt Creator 2.1.0 based on Qt 4.7.2

答案 1 :(得分:0)

Qt Creator使用另一个扩展名为.pro.user的项目配置文件,将其移动到其他位置,然后再次尝试打开该项目。