Для моего проекта Qt я использую .pro-файл, который содержит отдельный .pri-файл для различных файлов заголовков, источников, форм и ресурсов. Однако каждый раз, когда я добавляю новый файл, мне нужно вручную добавить его в .pri-файл. Это утомительно и подвержено ошибкам. Есть ли способ «магически» добавить все файлы из каталога, либо непосредственно в .pri-файл, либо путем предоставления qmake для запуска отдельного скрипта заранее?QMake: Автоматическая компиляция всех файлов в каталоге
ответ
Запуск qmake -project
из каталога создаст файл проекта, который включает в себя все файлы .cpp и .h в этом каталоге. Вы можете добавить шаг предварительного компиляции, который вызывает qmake -project
, а затем передать сгенерированный файл сценарию, который удаляет первые несколько строк. Вот быстрый один лайнер, который мог бы сделать работу:
qmake -project -o MyFiles.pro && sed '1,/^# Input/d' MyFiles.pro > MyFiles.pri && rm MyFiles.pro
Вы можете использовать:
SOURCES += *.cpp
HEADERS += *.h
в вашем про файл. Конечно, вам все равно придется заново заново запустить qmake после создания новых файлов.
Как вы можете сделать это рекурсивно добавлять все исходные файлы в данный каталог и все подкаталоги? Это добавляет только файлы в корневой путь. –
Не похоже, что он работает для любого пути, кроме $$ PWD, например. '../ my_blah/*. h' не работает, говорится:« Невозможность найти ... » – DBedrenko
Хороший вопрос! Но ... потенциальные ошибки из-за добавления произвольных файлов (из каталога) могут быть больше, чем при неправильном имени файла. Добавление имени файла в .pri-файл занимает гораздо меньше времени, чем добавление исходного файла, поэтому на этот раз следует пренебречь. – mmonem