【问题标题】:QMake: Automatically compiling all files in a directoryQMake:自动编译目录中的所有文件
【发布时间】:2011-04-17 22:27:36
【问题描述】:

对于我的 Qt 项目,我使用一个 .pro 文件,该文件包含一个单独的 .pri 文件,用于各种头文件、源文件、表单和资源文件。但是,每次添加新文件时,我都需要手动将其添加到 .pri 文件中。这是乏味且容易出错的。有没有办法“神奇地”添加目录中的所有文件,直接在 .pri 文件中或通过告诉 qmake 预先运行单独的脚本?

【问题讨论】:

  • 好问题!但是......由于添加任意文件(来自目录)而导致的潜在错误可能比文件名输入错误时的错误更多。为 .pri 文件添加文件名比添加源文件花费的时间要少得多,所以这个时间应该忽略

标签: qt qmake


【解决方案1】:

你可以使用:

SOURCES += *.cpp
HEADERS += *.h

在您的专业文件中。当然你还是要记得在创建新文件后重新运行 qmake。

【讨论】:

  • 如何使这个递归地添加给定目录和所有子目录中的所有源文件?这只会添加根路径中的文件。
  • 它似乎也不适用于除 $$PWD 之外的任何路径,例如../my_blah/*.h 不起作用,它说“找不到...”
【解决方案2】:

从目录运行qmake -project 将创建一个项目文件,其中包含该目录中的所有 .cpp 和 .h 文件。您可以添加一个调用qmake -project 的预编译步骤,然后将生成的文件传递给删除前几行的脚本。这是一个可以完成这项工作的快速单线:

qmake -project -o MyFiles.pro && sed '1,/^# Input/d' MyFiles.pro > MyFiles.pri && rm MyFiles.pro

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 2013-07-09
    • 1970-01-01
    • 2012-02-07
    • 2018-02-02
    • 2016-05-28
    • 1970-01-01
    相关资源
    最近更新 更多