对于qmake而言,*.pro
和*.pri
配置文件之间有什么区别?
应该将什么内容放入*.pro文件以及*.pri文件中呢?
它们之间的目标重用有一个主要区别:
这通常被称为项目文件。
这通常被称为项目包含文件。
从它们的名称中可以看出,主要区别在于.pri
文件是用于包含的文件。这类似于在编程语言中包含模块以共享功能。
您将能够将公共设置和代码编写到这些.pri
文件中,并根据需要从多个.pro
文件中包含它们。以下是实际使用它的方法:
FOO = BAR
...
include($$PWD/foo.pri)
...
...
include($$PWD/foo.pri)
...
这样,共同点将在hello.pro
和world.pro
中都可用。在这种情况下并没有太大区别,但当共享功能变得更长时,它将为您节省一些编写、同步修复等工作。
如果您希望,甚至可以在另一个.pri
文件中包含一个.pri
文件。还可以在不同子项目中包含.pri
文件,等等。非常好。
然而,对于.pro
和.pri
文件,语法是相同的。最后,您将在.pro
文件上运行qmake,如果您没有现有的项目文件并且打算使用qmake -project
,那么qmake也会为您生成它。
您可以在这里了解更多关于include函数的信息:
include(filename)
将指定文件名的内容包含到当前项目的被包含点。 如果包含filename则此函数成功;否则失败。包含的文件将立即处理。
可以通过将此函数用作范围的条件来检查是否已包含文件。
完整起见,还有.prf
项目特征文件和.prl
项目链接器文件,但作为终端用户,您暂时不需要处理它们。
.pro
文件是您可以在其上运行QMake的文件,而.pri
文件则由.pro
文件包含。除此之外,这两者没有太大的区别。.pro
文件中,同时将选项推迟到各种 .pri
文件中。更多信息,尽管不多,可以在此处找到。.pri
文件的格式与 .pro
文件的格式完全相同。主要区别在于意图不同;.pro
文件是大多数人希望直接运行 qmake 的文件,而 .pri
文件是要被 .pro
文件包含的文件。当您指示 qmake 包含另一个文件时,它只会像在当前文件中一样处理该文件中的命令。