17

这是此问题的后续内容如何在 qt-creator 中为项目创建子目录?,第一个答案对我不起作用。

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

Qt 创建者截图

所以,我的问题是:

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

3 回答 3

23

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

上次我查看 Qt Creator 时,它会进行额外的解析并识别.pri文件是独立的,并将该文件中的任何 headers/sources/ui/rc/pri 文件专门列为子目录,就像您看到的include.pri文件一样这个问题的截图。

于 2009-12-28T14:41:27.037 回答
11

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

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

于 2009-12-28T18:20:52.163 回答
0

摘自Qt 4.5:管理项目

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

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

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

我建议你看看链接。

于 2009-12-28T01:47:00.970 回答