Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vd от Ноябрь 27, 2008, 15:41



Название: qmake and UI_DIR
Отправлено: Vd от Ноябрь 27, 2008, 15:41
День добрый.

VC2005Express, Qt 4.4.3
При сборке - файлы, обработанные uic'ом почему то оказываются в корне проекта.
Ну хорошо, думаю, настрою сейчас, чтобы debug и release собирались в своих папках.
Настроил вот так:

Код
C++ (Qt)
release {
UI_DIR = release
MOC_DIR = release
OBJ_DIR = release
CONFIG -= console
}
 
debug {
UI_DIR = debug
MOC_DIR = debug
OBJ_DIR = debug
CONFIG += console
}
 

Однако, в таком случае - в независимости от того, что я собираю - ui оказываются в папке debug. Такое ощущение, что второй UI_DIR обрабатывается в независимости от scope. Но MOC_DIR и OBJ_DIR работают как надо. Пробовал разные варианты, работает всегда одинаково не верно.

Баг или я не дочитал assistant?


Название: Re: qmake and UI_DIR
Отправлено: SASA от Ноябрь 27, 2008, 18:16
Проблема в том, что qmake (или nmake) очень умные. Они сами раскладывают по папкам debug/release.
И лучше пользоваться CONFIG(debug) { } а не debug { }. Тут был пост на эту тему.


Название: Re: qmake and UI_DIR
Отправлено: Vd от Ноябрь 28, 2008, 14:04
Не помогает =(
Абсолютно такое же поведение.


Название: Re: qmake and UI_DIR
Отправлено: ритт от Ноябрь 28, 2008, 18:54
таки-дочитывай ассистант...

и попробуй вот так:
Код:
BUILDDIR	= .build/
win32:BUILDDIR = $$join(BUILDDIR,,,win32)
unix:BUILDDIR = $$join(BUILDDIR,,,unix)
macx:BUILDDIR = $$join(BUILDDIR,,,macx)

UI_DIR = $${BUILDDIR}/ui
UIC_DIR = $${BUILDDIR}/uic
MOC_DIR = $${BUILDDIR}/moc
RCC_DIR = $${BUILDDIR}/rcc
OBJECTS_DIR = $${BUILDDIR}/obj

CONFIG(release, debug|release) {
OBJECTS_DIR = $$join(OBJECTS_DIR,,,/release)
}
else {
OBJECTS_DIR = $$join(OBJECTS_DIR,,,/debug)
}


Название: Re: qmake and UI_DIR
Отправлено: Vd от Декабрь 09, 2008, 03:06
Константин
Спасибо! Немного не так сделал, но мысль понятна:

Код:
CONFIG(release, debug|release) {
BUILDDIR = ./release
}
else {
BUILDDIR = ./debug
}

UI_DIR = $${BUILDDIR}/ui
UIC_DIR = $${BUILDDIR}/uic
MOC_DIR = $${BUILDDIR}/moc
RCC_DIR = $${BUILDDIR}/rcc
OBJECTS_DIR = $${BUILDDIR}/obj


Название: Re: qmake and UI_DIR
Отправлено: ритт от Декабрь 09, 2008, 06:57
rcc, moc и ui* для дебаг и релиз будут одинаковыми - имеет ли смысл распихивать их по разным папкам? или принцип "дольше собирается - лучше работает" сейчас в моде? :)


Название: Re: qmake and UI_DIR
Отправлено: Vd от Декабрь 10, 2008, 14:41
Константин
Действительно, об этом я не подумал. Спасибо =)