【问题标题】:Using .pri files in Qt在 Qt 中使用 .pri 文件
【发布时间】:2010-12-30 08:56:42
【问题描述】:

这是这个问题How to create a subdirectory for a project in qt-creator? 的后续,第一个答案对我不起作用。

我通过手动将每个文件写入主 .pro 文件来解决它,这并不难,但我仍然想知道 - .pri 文件究竟是如何工作的,以及为什么上面链接的解决方案没有添加文件夹,但只有 .pri 文件,所以在 Qt creator 中看起来像这样:

所以,我的问题是:

  • .pri 文件的一般格式是什么?
  • 为什么上述解决方案不起作用?

【问题讨论】:

标签: qt qt-creator


【解决方案1】:

我从您的屏幕截图中猜测是 QtCreator 没有找到 .pri 文件中列出的头文件。如果您的 .pri 文件与 .pro 文件位于不同的目录中(这似乎是这里的情况),Qt 会在与 .pri 文件相同的目录中查找 .pri 文件中列出的文件(而不是 .pro 文件)。 pro 文件),并且任何相对路径都将从该目录解析。

当找不到文件时,QtCreator 会默默地忽略它,并且根本不会将它添加到项目视图中的文件夹中。例如,如果您在 include.pri 文件中使用了 line.h、circle.h 和 bezier.h 的完整路径,则一旦保存文件,您就会看到它们出现在项目视图中。现在的关键是找出相对于 .pri 文件指向这些文件的适当相对路径。

【讨论】:

  • 这个答案不是那么描述性,但它解决了我的问题,谢谢
  • qmake 查找与包含 .pro 文件(而不是 .pri 文件)的目录相关的文件。
【解决方案2】:

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

我上次查看 Qt Creator 时,它会进行额外的解析并识别 .pri 文件是独立的,并将该文件中的任何 headers/sources/ui/rc/pri 文件专门列为子目录,就像您会看到此问题的屏幕截图中列出的 include.pri 文件。

【讨论】:

    【解决方案3】:

    摘自Qt 4.5: Managing Projects:

    .pri 文件包含项目中的源文件、头文件、.ui 文件和 .qrc 文件的列表。

    有关这些文件及其操作系统的更多信息:

    • 一个 .vcproj 文件,其中包含特定于 Windows 的设置并列出项目中的文件。
    • 包含 Unix 和/或 Mac OS X 特定设置的 .pro 文件。
    • .pri 文件(qmake 包含文件)列出项目中的文件。

    我建议你看一下链接。

    【讨论】:

    • .pro 文件还可以包含特定于 Windows 的设置。可以从此 .pro 文件生成 .vcproj 文件。
    • 现在好像链接坏了。
    猜你喜欢
    • 1970-01-01
    • 2020-07-27
    • 2011-02-26
    • 2012-01-11
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多