qmake的*.pro
和*.pri
配置文件有什么区别?
什么应该进入* .pro文件以及什么应该进入* .pri文件?
答案 0 :(得分:60)
目标重用之间存在一个主要区别:
这通常称为项目文件。
这通常称为项目包含文件。
正如您在其名称中看到的,主要区别在于.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函数in here的更多信息:
包括(文件名)
将filename指定的文件内容包含在当前项目中包含的位置。如果包含filename,则此函数成功;否则就失败了。包含的文件立即处理。
您可以使用此功能作为范围的条件来检查文件是否包含在内。
要完成,还有.prf
项目功能文件和.prl
项目链接器文件,但作为最终用户,您暂时无需处理。
答案 1 :(得分:39)
.pro
文件就是你要运行QMake的文件。 .pri
文件包含.pro
文件。除此之外,两者之间没有太大差别。
示例用法可能是您有不同的构建需要不同的选项。您可以将共享信息放在.pro中,同时将选项推迟到各种.pri文件。更多信息,虽然可以肯定的是,can be found here。
答案 2 :(得分:15)
.pri
文件的格式与.pro
文件的格式完全相同。主要区别在于意图; .pro是大多数人期望直接运行qmake的东西,而.pro是.pro。当您指示qmake包含另一个文件时,它只是处理该文件中的命令,就像它在当前文件中一样。
供参考:*.pro vs *.pri