Вопрос
В чем разница между *.pro
и *.pri
файлы конфигурации для qmake?
Что должно быть в файле *.pro, а что — в файле *.pri?
Решение
А .pro
Файл - это то, что вы запустили бы Qmake. А .pri
Файл включен .pro
файл. Кроме того, между ними нет большой разницы.
Пример использования может быть, если у вас есть разные сборки, которые нуждаются в разных вариантах. Вы можете поместить общую информацию в .pro, одновременно откладывая параметры различным файлам .pri. Немного больше информации, хотя по общему признанию не намного больше, можно найти здесь.
Другие советы
Есть одно главное отличие их целевого повторного использования:
.pro
Обычно это называется Файл проекта.
.при
Обычно это называется Проект Включать Файл.
Как видно из их названий, главное отличие состоит в том, что .pri
файлы предназначены для включения файлов.По сути, это похоже на включение модулей в язык программирования для совместного использования функций.
Вы сможете записать в них общие настройки и код. .pri
файлы и включать их из нескольких .pro
файлы по мере необходимости.Вот как вы можете использовать это на практике:
foo.pri
FOO = BAR
hello.pro
...
include($$PWD/foo.pri)
...
world.pro
...
include($$PWD/foo.pri)
...
Таким образом, общность будет доступна как в hello.pro
а также world.pro
.В этом сценарии это не имеет большого значения, но когда общая функциональность станет длиннее, это сэкономит вам время на написании, синхронизации, исправлении ошибок и т. д.
Вы могли бы даже включить .pri
файл внутри другого .pri
файл, если хотите.Вы также можете включить .pri
файлы в разных подпроектах и т. д.Очень мило.
Однако синтаксис одинаков для обоих .pro
и .pri
файлы.В конце концов, вы запустите qmake на .pro
файлы, и это также то, что qmake генерирует для вас, если у вас нет файла проекта и вы собираетесь использовать qmake -project
.
Подробнее о функции включения можно прочитать здесь:
включить (имя файла)
Включает содержимое файла, указанного именем файла, в текущий проект в том месте, где оно было включено.Эта функция завершается успешно, если включено имя файла;в противном случае это терпит неудачу.Включенный файл обрабатывается немедленно.
Вы можете проверить, был ли файл включен, используя эту функцию в качестве условия для области.
Для полноты картины есть еще .prf
Проект Особенность Файлы и .prl
Проект Линкер Файлы, но вам, как конечному пользователю, пока не нужно с этим иметь дело.
Формат .pri
файлы точно такие же, как формат .pro
файлы Основное различие - это одно из намерений; A Когда вы инструктируете Qmake включить другой файл, он просто обрабатывает команды в этом файле, как если бы он был в текущем файле.
Для справки: *.pro vs *.pri