Qt:*.pro vs*.pri

Beg*_*ner 76 qt qmake qtcore

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

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

lpa*_*app 64

目标重用之间存在一个主要区别:

的.pro

这通常称为项目文件.

.pri

这通常称为Project Include File.

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

您可以将常用设置和代码写入这些.pri文件,并.pro在需要时从多个文件中包含它们.这就是你在实践中如何使用它:

foo.pri

FOO = BAR
Run Code Online (Sandbox Code Playgroud)

hello.pro

...
include($$PWD/foo.pri)
...
Run Code Online (Sandbox Code Playgroud)

world.pro

...
include($$PWD/foo.pri)
...
Run Code Online (Sandbox Code Playgroud)

这样,共同性既可以在hello.pro,也可以world.pro.它在这种情况下没有多大区别,但是当共享功能变得更长时,它将为您节省一些写入以及同步,错误修正等.

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

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

您可以在此处阅读有关include函数的更多信息:

包括(文件名)

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

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

要完成,还有.prf 项目功能文件.prl 项目链接器文件,但作为最终用户,您现在不需要处理它.


Bar*_*art 44

一个.pro文件是什么,你会在运行QMAKE.一个.pri文件被列入.pro文件.除此之外,两者之间没有太大差别.

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


Alp*_*ale 16

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

供参考:*.pro vs*.pri

  • 是.所有接受的答案都不是最终答案. (2认同)