В чем разница между конфигурационными файлами *.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