QMake:自动编译目录中的所有文件

Eti*_*tel 18 qt qmake

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

cha*_*lup 16

您可以使用:

SOURCES += *.cpp
HEADERS += *.h
Run Code Online (Sandbox Code Playgroud)

在您的专业档案中.当然,您仍然需要记住在创建新文件后重新运行qmake.

  • 如何以递归方式将所有源文件添加到给定目录和所有子目录中?这只会添加根路径中的文件. (9认同)
  • 它似乎也不适用于除 $$PWD 之外的任何路径,例如 `../my_blah/*.h` 不起作用,它说“无法找到...” (2认同)

Fre*_*red 11

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

qmake -project -o MyFiles.pro && sed '1,/^# Input/d' MyFiles.pro > MyFiles.pri && rm MyFiles.pro
Run Code Online (Sandbox Code Playgroud)