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