这是对此问题(如何在Qt Creator中为项目创建子目录?)的后续,第一个答案对我无效。
我通过手动将每个文件写入主要的 .pro 文件来解决它,这并不难,但我仍然想知道 - .pri 文件具体是如何工作的,以及为什么上述链接的解决方案没有添加文件夹,只有 .pri 文件,所以在 Qt Creator 中看起来像这样:
因此,我的问题是:
- .pri 文件的一般格式是什么?
- 为什么上述解决方案不起作用?
这是对此问题(如何在Qt Creator中为项目创建子目录?)的后续,第一个答案对我无效。
我通过手动将每个文件写入主要的 .pro 文件来解决它,这并不难,但我仍然想知道 - .pri 文件具体是如何工作的,以及为什么上述链接的解决方案没有添加文件夹,只有 .pri 文件,所以在 Qt Creator 中看起来像这样:
因此,我的问题是:
.pri
文件的格式与.pro
文件的格式完全相同。主要区别在于意图不同:.pro
是大多数人直接运行qmake
的文件,而.pri
是.pro
文件包含的文件。当您指示qmake包含另一个文件时,它会将该文件中的命令处理为当前文件中的命令。
我上一次使用Qt Creator时,它会进行额外的解析,并识别出.pri
文件是单独存在的,并将来自该文件的任何头文件/源文件/界面文件/资源文件/ pri文件列为子目录,就像在此问题的屏幕截图中看到的include.pri
文件一样。
从你的截图来看,我的猜测是QtCreator在.pri文件中未找到列出的头文件。如果.pri文件位于与.pro文件不同的目录中(似乎是这种情况),则Qt将在.pri文件所在的目录中寻找.pri文件中列出的文件(而不是.pro文件),任何相对路径都将从该目录解析。
当找不到文件时,QtCreator会默默地忽略它,并且不会将其添加到项目视图中的文件夹中。例如,如果您在include.pri文件中使用了line.h、circle.h和bezier.h的完整路径,一旦保存文件,您将看到它们出现在项目视图中。现在的关键是确定指向这些文件的适当相对路径,相对于.pri文件来说。
摘自Qt 4.5:项目管理:
.pri文件包含项目中的源文件、头文件、.ui文件和.qrc文件列表。
有关这些文件及其操作系统的更多信息:
我建议您查看链接。
.pri
和.pro
文件的区别,因为还没有人提供这样的说明,只有一些简短的描述。:) - László Papp