Qt:* .pro和* .pri
qmake的*.pro
和*.pri
configuration文件有什么区别?
什么应该进入一个* .pro文件和什么应该进入* .pri文件?
.pro
文件是你将运行QMake。 .pri
文件包含在.pro
文件中。 除此之外,两者之间没有太大的区别。
如果您有不同的版本,需要不同的选项,则可以使用示例。 您可以将共享信息放在.pro中,同时将选项推迟到各种.pri文件。 多一点的信息,虽然承认不多, 可以在这里find 。
他们的目标重用之间有一个主要区别:
的.pro
这通常称为项目文件 。
.pri
这通常称为项目包含文件 。
正如你可以看到他们的名字,主要的区别是.pri
文件是包含文件。 这与在编程语言中包含模块以共享function类似。
您将能够将通用设置和代码写入这些.pri
文件,并根据需要将其包含在几个.pro
文件中。 这是你如何在实践中使用它:
foo.pri
FOO = BAR
hello.pro
... include($$PWD/foo.pri) ...
world.pro
... include($$PWD/foo.pri) ...
这样,在hello.pro
和world.pro
都可以使用通用性。 它在这种情况下没有太大的区别,但是当共享function变得更长时,它会为您节省一些写入以及同步,错误修复等等。
如果您愿意,甚至可以在另一个.pri
文件中包含.pri
文件。 你也可以在不同的子项目中包含.pri
文件等。这是非常好的。
但是, .pro
和.pri
文件的语法是相同的。 最后,你可以在.pro
文件上运行qmake,这也是qmake为你生成的,如果你没有一个项目文件,你打算使用qmake -project
。
你可以在这里阅读更多有关include函数的信息 :
包括(文件名)
将包含文件名的文件的内容包含在当前项目中。 如果包含文件名,则此函数成功; 否则失败。 包含的文件被立即处理。
您可以使用此函数作为范围的条件来检查文件是否包含在内。
只是要完成,也有.prf
项目function文件和.prl
项目链接器文件 ,但作为最终用户,你现在不需要处理。
.pri
文件的格式与.pro
文件的格式完全相同。 主要区别是意图之一; 一个.pro是大多数人希望直接运行qmake的,而.pri被包含在.pro中。 当您指示qmake包含另一个文件时,它只是处理该文件中的命令,就好像它在当前文件中一样。
参考: * .pro和* .pri