【问题标题】:QtCreator: appearance of included subprojects (.pri)QtCreator:包含子项目的外观(.pri)
【发布时间】:2012-04-27 05:28:46
【问题描述】:

我在 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 文件之一,如屏幕截图所示:

我现在卡住了,因为我不知道 为什么 QtCreator 不显示第二个 .pri 文件 与显示第一个文件的方式相同,也不知道为什么它只在之后才显示第一个文件有时间……

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

【问题讨论】:

  • 我刚刚注意到,如果我注释掉第二个 .pri 文件中的每一行,QtCreator 就会在项目管理器中注册它。所以我猜它无法处理文件中的某些内容,我只需要弄清楚是什么......我还注意到 qmake 正确包含了 .pri 文件,所以唯一的问题是项目管理器本身并且可以住在一起。

标签: qt qt-creator


【解决方案1】:

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

【讨论】:

  • 谢谢,但这没有帮助。我注意到 QtCreator 甚至没有在 .pro.user 文件中保存有关 .pri 文件的任何信息...
【解决方案2】:

好吧,这很奇怪。我刚刚弄清楚为什么项目经理不显示第二个包含的 .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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多