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