2009-12-28 165 views
13

这是此问题How to create a subdirectory for a project in qt-creator?的后续处理,其中第一个答案对我无效。在Qt中使用.pri文件

我通过手动将每个文件写入主.pro文件来解决这个问题,但这并不困难,但我仍然想知道--pri文件的工作原理以及为什么上面链接的解决方案没有添加文件夹,但只有.pri文件,因此在Qt Creator的是这样的:

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

所以,我的问题是:

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

只是[左详细解释](http://stackoverflow.com/questions/8358627/qt-pro-vs-pri/23845651#23845651)关于'.pri'和'.pro'文件差异看到没有人提供了一个,只是一些快速写作。 :) – lpapp 2014-05-24 13:50:48

回答

7

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

当一个文件不能被发现,QtCreator自动忽略它,根本不将其添加到项目视图中的文件夹。例如,如果您在include.pri文件中使用了line.h,circle.h和bezier.h的完整路径,只要保存该文件,就会看到它们出现在项目视图中。现在的关键是简单地找出指向这些文件相对于.pri文件的适当相对路径。

+0

这个答案不太具有描述性,但它解决了我的问题,谢谢 – 2009-12-30 22:19:49

+9

qmake查找与包含.pro文件(而不是.pri文件)的目录相关的文件。 – Nick 2011-10-11 15:18:58

0

Qt 4.5: Managing Projects提取:

的.pri文件中包含的源文件,头文件的.ui文件,并.qrc文件放在项目的清单。

欲了解更多有关这些文件及其操作系统:

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

我建议你采取的链接看看。

+0

.pro文件还可以包含Windows特定的设置。可以从这个.pro文件生成一个.vcproj文件。 – 2010-11-23 10:37:23

19

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

上次我查看Qt Creator时,它会做额外的解析,并且认识到.pri文件是分开的,并且将该文件中的任何headers/sources/ui/rc/pri文件明确地作为子目录列出,就像您请参阅此问题屏幕截图中列出的include.pri文件。