Qt: *.pro vs *.pri



qmake的*.pro*.pri配置文件有什么区别?

a *应该包含什么?Pro文件中应该包含什么。革命制度党文件?

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

.pro

通常称为项目文件

.pri

通常称为Project Include File

从它们的名称中可以看出,主要的区别在于.pri文件意味着包含文件。从本质上讲,这类似于在编程语言中包含模块来共享功能。

您将能够将公共设置和代码写入这些.pri文件,并在需要时从几个.pro文件中包含它们。以下是您在实践中如何使用它:

foo.pri

FOO = BAR

hello.pro

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

world.pro

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

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

如果您愿意,甚至可以将.pri文件包含在另一个.pri文件中。您还可以在不同的子项目中包含.pri文件等。它很漂亮。

但是,对于.pro.pri文件,语法是相同的。最后,您将在.pro文件上运行qmake,如果您没有现有的项目文件,并且您打算使用qmake -project,这也是qmake为您生成的。

你可以在这里阅读更多关于include函数的信息:

包括(文件名)

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

您可以使用此函数作为作用域的条件来检查文件是否被包含。

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

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

如果您有不同的构建,需要不同的选项,则可以使用

示例。您可以将共享信息放在.pro中,而将选项推迟到各种.pri文件中。在这里可以找到更多的信息,尽管确实不多。

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

参考:*。Pro vs *.pri

最新更新