Использование .pri файлов в Qt
Это продолжение этого вопроса Как создать подкаталог для проекта в qt-creator? где первый ответ не работал для меня.
Я решил это, вручную записав каждый файл в основной файл .pro, что не намного сложнее, но я все еще задаюсь вопросом - как именно работают файлы .pri и почему приведенное выше решение не добавляет папки, а только Файлы .pri, поэтому в Qt creator это выглядело так:
![Qt creator screenshot]()
Итак, мои вопросы:
- Какой общий формат файлов .pri?
- Почему вышеприведенное решение не работает?
Ответы
Ответ 1
Моя догадка, глядя на ваш скриншот, заключается в том, что QtCreator не находит файлы заголовков, перечисленные в файле .pri. Если ваш .pri файл находится в другой директории, отличной от вашего .pro файла (это, как представляется, здесь), Qt ищет файлы, перечисленные в файле .pri, в том же каталоге, что и файл .pri(а не. pro file), и любой относительный путь будет разрешен из этого каталога.
Когда файл не может быть найден, QtCreator молча игнорирует его и просто не добавляет его в папку в представлении проектов. Если, например, вы использовали полный путь для line.h, circle.h и bezier.h в файле include.pri, как только вы сохраните файл, вы увидите, что они отображаются в представлении проектов. Ключевым моментом является просто выяснить, каков соответствующий относительный путь, указывающий на эти файлы относительно файла .pri.
Ответ 2
Формат файлов .pri
в точности совпадает с форматом файлов .pro
. Основное различие - одно из намерений; a .pro
- это то, что большинство людей ожидало бы запустить qmake
напрямую, а .pri
- с помощью .pro
. Когда вы укажете qmake на включение другого файла, он просто обрабатывает команды в этом файле, как если бы они находились в текущем файле.
В прошлый раз, когда я смотрел Qt Creator, он выполнял дополнительный синтаксический анализ и распознавал, что файлы .pri
были отдельными, и перечислять любые файлы заголовков/источников/ui/rc/pri из этого файла именно в качестве подкаталога, вы видите файлы include.pri
, перечисленные на скриншоте этого вопроса.
Ответ 3
Извлечен из Qt 4.5: Управление проектами:
Файл .pri содержит список исходных файлов, файлов заголовков, файлов .ui и .qrc файлов в проекте.
Подробнее об этих файлах и их ОС:
- Файл .vcproj, содержащий настройки для Windows и перечисление файлов в проекте.
- Файл .pro, содержащий настройки Unix и/или Mac OS X.
- Файл .pri(файл включения qmake), содержащий список файлов в проекте.
Я предлагаю вам взглянуть на ссылку.