在Qt中使用.pri文件

时间:2009-12-28 01:27:39

标签: qt qt-creator

这是这个问题How to create a subdirectory for a project in qt-creator?的后续内容,其中第一个答案对我不起作用。

我通过手动将每个文件写入主.pro文件来解决它,这并不是那么难,但我仍然想知道 - .pri文件究竟是如何工作的,以及为什么上面链接的解决方案没有添加文件夹,但只有.pri文件,所以它在Qt创建者中看起来像这样:

Qt creator screenshot

所以,我的问题是:

  • .pri文件的一般格式是什么?
  • 为什么上述解决方案不起作用?

3 个答案:

答案 0 :(得分:19)

.pri文件的格式与.pro文件的格式完全相同。主要区别在于意图; .pro是大多数人希望直接投放qmake的{​​{1}},而.pri将包含.pro。当您指示qmake包含另一个文件时,它只是处理该文件中的命令,就像它在当前文件中一样。

我最后一次查看Qt Creator时,会进行额外的解析并识别.pri个文件是独立的,并将该文件中的所有headers / sources / ui / rc / pri文件列为特定的子目录,就像你看到这个问题的截图中列出的include.pri文件一样。

答案 1 :(得分:9)

我从您的屏幕截图中猜测,QtCreator找不到.pri文件中列出的头文件。如果您的.pri文件位于与.pro文件不同的目录中(这里似乎就是这种情况),Qt会在.pri文件中查找.pri文件中列出的文件,而不是.pri文件。专业文件),任何相对路径都将从该目录中解析。

当找不到文件时,QtCreator会默默地忽略它,并且不会将其添加到项目视图中的文件夹中。例如,如果在include.pri文件中使用了line.h,circle.h和bezier.h的完整路径,则只要保存文件,就会看到它们出现在项目视图中。现在的关键是弄清楚相对于.pri文件指向这些文件的适当相对路径是什么。

答案 2 :(得分:0)

摘自Qt 4.5: Managing Projects

  

.pri文件包含项目中的源文件,头文件,.ui文件和.qrc文件的列表。

有关这些文件及其操作系统的更多信息:

  • 包含Windows特定设置并列出项目中文件的.vcproj文件。
  • 包含Unix和/或Mac OS X特定设置的.pro文件。
  • 列出项目中文件的.pri文件(qmake包含文件)。

我建议你看看链接。