在Qt中使用.pri文件

Kar*_*lek 15 qt qt-creator

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

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

Qt creator screenshot http://i45.tinypic.com/f4ogeh.png

所以,我的问题是:

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

Cal*_*itt 20

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

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


Fre*_*red 10

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

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

  • qmake查找相对于包含.pro文件的目录(而不是.pri文件)的文件. (10认同)