Название: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 01, 2010, 15:25 Подскажите, где можно получить побольше информации по синтаксису этих файлов.
Особенно интересует pri-файл. Это какой-то скриптовой файлос, но зачем он отдельно, если есть pro-файл. В чем сермяжная правда? ))) ------------------------------- Изучаю файлос qtcreator.pri в исходниках qt-creator-2.0.0-src Я предполагаю, что конструкции типа этой Код объявляют некие функции. Также становится понятно, что эти функции выполняются типа во премя препроцессинга. В pri-файлах так же объявляется множество новых переменных, в основном касающихся путей раскладки конечных файлов и все такое прочее. А есть ли некая дебажная функция, которой можно воспользоваться чтобы куда-то вывести значение всех этих переменных, в исследовательских целях? Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: kuzulis от Ноябрь 01, 2010, 15:58 Цитировать А есть ли некая дебажная функция, которой можно воспользоваться чтобы куда-то вывести значение всех этих переменных, в исследовательских целях? message(Variable is: $$variable) Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 01, 2010, 16:32 о! Спасиб!
Получилось. Только непонятно, почему трижды вызывается ======================================================= Выполняется сборка проекта cscon... Настройки не изменились, этап qmake пропускается. Запускается "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" -w mingw32-make: Entering directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' c:\qt\2010.05\qt\bin\qmake.exe -spec c:\Qt\2010.05\qt\mkspecs\win32-g++ -o Makefile ..\cscon\cscon.pro mingw32-make: Leaving directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' Project MESSAGE: a: ./KARAMBA Project MESSAGE: Adding support for ./KARAMBA Project MESSAGE: a: ./KARAMBA Project MESSAGE: Adding support for ./KARAMBA Project MESSAGE: a: ./KARAMBA Project MESSAGE: Adding support for ./KARAMBA mingw32-make: Entering directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' C:/Qt/2010.05/mingw/bin/mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' mingw32-make[1]: Nothing to be done for `first'. mingw32-make[1]: Leaving directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' mingw32-make: Leaving directory `V:/work/Qt/cuteSCADA/visual/cscon-build-desktop' Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился нормально. ======================================================= У меня там 3 cpp-шки, 1 убрал, стало 2 - ничего не изменилось. Получается файл парсится трижды? Зачем? ========================================================== ========================================================== ========================================================== Чуть позже: Проверил на исходниках QtCreator, там умопомрачительное количество подпроектов и файлов. И тоже вызывается трижды: Цитировать mingw32-make: Leaving directory `C:/Qt/qt-creator-2.0.0-src/src/libs/utils-build-desktop' Project MESSAGE: DEFINES = UNICODE QT_LARGEFILE_SUPPORT QTCREATOR_UTILS_LIB Project MESSAGE: DEFINES = UNICODE QT_LARGEFILE_SUPPORT QTCREATOR_UTILS_LIB Project MESSAGE: DEFINES = UNICODE QT_LARGEFILE_SUPPORT QTCREATOR_UTILS_LIB mingw32-make: Entering directory `C:/Qt/qt-creator-2.0.0-src/src/libs/utils-build-desktop' В чем-то другом тут дело... Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 01, 2010, 16:35 И все ж таки, где в природе описание структуры этих файлов, их команд?
Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: crossly от Ноябрь 01, 2010, 16:50 в асистенте...
Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 01, 2010, 16:56 так, нашел, спасибо:
http://doc.trolltech.com/qt-maemo-4.6/qmake-function-reference.html http://doc.trolltech.com/qt-maemo-4.6/qmake-variable-reference.html И все-таки, как ваше мнение - зачем делить это все на 2 файла? Вот я перенес все из pri в pro - и все скомпилилось. В чем смысл? Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: kuzulis от Ноябрь 01, 2010, 17:02 Цитировать В чем смысл? В удобстве. Например ты имеешь проект который содержит поддиректории. И если ты имеешь один *.pro файл, то тебе придется в нем перечислить все *.cpp и *.h и т.п. . Что будет неудобочитаемо. Поэтому в этих поддиректориях (в каждой) ты создаешь *.pri в котором перечисляешь все *.cpp и *.h файлы которые лежат именно в ней. И затем в корневом *.pro файле ты просто подключаешь/отключаешь нужные тебе *.pri файлы.. Например: Цитировать ... include(dir1/my1.pri) include(dir2/my2.pri) ... И т.п. Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 01, 2010, 17:13 У меня была такая мысль, но я думал, что что-то недопонимаю.
Дело в том, что как мне кажется, сами тролли как-то хаотично это разделение используют, одни и те же типы переменных определяя то в pri, то в pro... Спасибо, буду разбираться дальше ))) Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 02, 2010, 10:51 Еще вопросик:
INCLUDEPATH = $$PWD - понятно INCLUDEPATH += $$PWD - тоже понятно INCLUDEPATH *= $$PWD - результат равен операции +=. Для чего такой оператор в pro/pri ? Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: asvil от Ноябрь 02, 2010, 11:02 *= добаляет только невключенные ранее элементы
Название: Re: Где бы взять побольше информации про синтаксис pri/pro-файлов Отправлено: frostyland от Ноябрь 02, 2010, 11:06 *= добаляет только невключенные ранее элементы Ясно, спасиб ) |