Qt: * .pro проти * .pri


87

У чому різниця між *.proі *.priфайлами QMAKE?

Що має входити у файл * .pro, а що - у файл .pri.

Відповіді:


53

.proФайл , що ви б запустити QMAKE на. .priФайл включений в .proфайл. Крім цього, між ними немає великої різниці.

Приклад використання може бути, якщо у вас різні збірки, для яких потрібні різні параметри. Ви можете розмістити спільну інформацію в .pro, одночасно відклавши параметри до різних файлів .pri. Трохи більше інформації, хоча по загальним визнанням , не набагато більше, можна знайти тут .


74

Є одна основна відмінність між їх цільовим повторним використанням:

.pro

Зазвичай це називається Project File .

.pri

Зазвичай це називається Project Include File .

Як ви можете бачити в їх іменах, основна відмінність полягає в тому, що .priфайли призначені для включення файлів. Це схоже на включення модулів у мову програмування для спільного використання функціональних можливостей.

Ви зможете записати загальні налаштування та код у ці .priфайли та включити їх із кількох .proфайлів у міру необхідності. Ось як ви могли б це використовувати на практиці:

foo.pri

FOO = BAR

привіт.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 Project Feature Files і .prl Project Linker Files , але як кінцевому користувачеві наразі вам не потрібно з ними мати справу.


16

Формат .priфайлів точно такий же, як формат .proфайлів. Головна відмінність полягає у намірі; a .pro - це те, що більшість людей очікує від безпосереднього запуску qmake, тоді як .pri повинен бути включений .pro. Коли ви доручаєте qmake включити інший файл, він просто обробляє команди у цьому файлі так, ніби він знаходиться у поточному файлі.

Для довідки: * .pro проти * .pri


Я насправді бачив це запитання і не помітив, що друга відповідь насправді відповідає на моє запитання .. :(
Роман Бишко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.