97

*.proqmake和*.pri配置文件有什么区别?

什么应该进入 *.pro 文件,什么应该进入 *.pri 文件?

4

3 回答 3

82

它们的目标重用之间有一个主要区别:

.pro

这通常称为项目文件

.pri

这通常称为项目包含文件

正如您在它们的名称中看到的,主要区别在于.pri文件是包含文件。本质上,这类似于在编程语言中包含模块以共享功能。

您将能够将通用设置和代码写入这些.pri文件,并在需要时将它们从多个.pro文件中包含进来。这是您在实践中使用它的方式:

foo.pri

FOO = BAR

你好.pro

...
include($$PWD/foo.pri)
...

世界.pro

...
include($$PWD/foo.pri)
...

这样,通用性将在hello.proworld.pro. 在这种情况下它并没有太大的区别,但是当共享功能变得更长时,它将为您节省一些写作以及同步、错误修复等。

如果您愿意,您甚至可以.pri在另一个.pri文件中包含一个文件。您还可以.pri在不同的子项目中包含文件等。这非常好。

但是,对于.pro.pri文件,语法是相同的。最后,您将对.pro文件运行 qmake,如果您不存在项目文件并且您打算使用qmake -project.

您可以在此处阅读有关包含功能的更多信息:

包括(文件名)

将由 filename 指定的文件的内容包含到当前项目中的位置。如果包含文件名,则此函数成功;否则失败。包含的文件会立即处理。

您可以使用此函数作为范围的条件来检查文件是否包含在内。

为了完整起见,还有.prf Project Feature Files.prl Project Linker Files,但作为最终用户,您现在不需要处理这些。

于 2014-05-24T13:38:16.780 回答
55

.pro文件是您将在其上运行 QMake的文件。文件.pri包含在.pro文件中。除此之外,两者并没有太大的区别。

示例用法可能是如果您有不同的构建需要不同的选项。您可以将共享信息放在 .pro 中,同时将选项推迟到各种 .pri 文件中。可以在此处找到更多信息,尽管承认不多。

于 2011-12-02T15:31:29.670 回答
16

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

供参考:*.pro 与 *.pri

于 2011-12-02T15:37:50.933 回答