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

问题描述 投票:0回答:2

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

qt qmake
2个回答
17
投票

您可以使用:

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

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


13
投票

运行

qmake -project
将创建一个项目文件,其中包含目录(包括子目录)中的所有
.cpp
.h
文件。您可以添加一个调用
qmake -project
的预编译步骤,并且仅保留定义输入文件的部分。这是一句简短的话:

Linux:

qmake -project -o - | sed '1,/^# Input/d' > file_list.pri

Windows:(PowerShell 命令 - 由于各种文本编码问题,仅适用于 ASCII 文件和文件夹名称)

(qmake -project -o -) -ne "" -join "`r`n" -replace "(?s)^.*`r`n# Input`r`n", "" | Out-File -encoding ascii file_list.pri

不要忘记在您的

include(file_list.pri)
文件中
.pro

© www.soinside.com 2019 - 2024. All rights reserved.