Russian Qt Forum

Qt => Общие вопросы => Тема начата: bob от Ноябрь 30, 2005, 09:53



Название: Организация проекта
Отправлено: bob от Ноябрь 30, 2005, 09:53
В корневой папке проекта стало творится, что-то неудобь сказуемое изза огромного количества файлов. :o  Решил распихать все внутри проекта по папкам. Распихал. Посмотрел - глаз радуется.  :D  Потом создал в дизайнере очередную форму положил ее в соответствующую папку, стал компилять. Ан шиш. Не компилит, т.е. не создает ui_myForm.h  :(  Заставил работать только когда ui-файл выложил в корень проекта. Как я понимаю мне нужно путь к папке с ui-файлами прописать в файле проекта, но в каком именно разделе? Такая же фигня если файл ресурсов лежит не в корне, компилятор его не видит. Когда разложил все по папкам, то в pro-файле указал где хидеры, где сырцы, и где qrc.


Название: Организация проекта
Отправлено: Dendy от Ноябрь 30, 2005, 10:57
В PRO-файле нужно указывать полные относительные пути. Например, так:

Код:
SOURCES = \
  main.cpp \
  widgets/yowidget.cpp \
  widgets/heywidget.cpp

FORMS = \
  ui/myForm.ui \
  ui/myCoolForm.ui

RESOURCES = \
  res/myFakeResources.qrc


А весь прикол вот в чём: qmake не создаёт правило компилляции ui-файла, если последний не был включён ни в одном файле исходника. Другими словами, если он не нашёл строчку:

Код:
#include "ui_myForm.h"


Чудкс нет. Можешь сам проверить содержимое Makefile, создаваемого с помощью qmake. А конкретнее правило генерации:

Код:
ui_myForm.h:


Если в исходниках присутствует инклуд H-файла ето правило используется, иначе - нет.


Название: Организация проекта
Отправлено: bob от Ноябрь 30, 2005, 11:54
В хидере класса наследника от формы я указываю "ui_form.h" и все компилится, но ui_form.h создается в корневой папке проекта. А если пишу "Headers/ui_form.h", то компилятор трубит о том, что не находит ui_form.h по указанному пути. Как мне заставить компилятор создать ui_form.h не в корне, а Headers?


Название: Организация проекта
Отправлено: Saint от Декабрь 06, 2005, 15:39
по-мойму UI_DIR = ui, так же можно все моки объектники создавать в отдельном каталоге.
смотри qmake Variable Reference