Russian Qt Forum
Ноябрь 23, 2024, 12:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разный DESTDIR для Debug и Release  (Прочитано 5697 раз)
Mike
Гость
« : Август 21, 2007, 11:04 »

Есть файл проекта, допустим Test.pro. Как сделать так, чтобы когда я делаю ему qmake, он генерил Makefile.Debug и Makefile.Release настроенные так, чтобы nmake (ну или что другое) распихивал exe-шники в разные папки для отладочной и релизной версий (типа bin/Debug и bin/Release) ?
Записан
bigirbis
Гость
« Ответ #1 : Август 21, 2007, 11:24 »

Код:
release {
    DESTDIR = ../../bin_release
    OBJECTS_DIR = ./obj-r
}
               
debug {
    DESTDIR = ../../bin_debug
    OBJECTS_DIR = ./obj-d
}
Записан
Mike
Гость
« Ответ #2 : Август 21, 2007, 11:33 »

Не, я типа того уже пробовал:
Код:
release {
    DESTDIR = ./bin/Release
    OBJECTS_DIR = ./obj/Release
}
               
debug {
    DESTDIR = ./bin/Debug
    OBJECTS_DIR = ./obj/Debug
}
Оно не работает, как надо:
Во-первых, он все-равно создает папки Debug и Release в папке с проектом
Во-вторых, в папке bin он создает только папку Debug, а Release нет. Ну соответственно то же самое и для папки obj.
А в-третьих, после nmake all собранным остается только отладочная версия в bin/Debug
Записан
bigirbis
Гость
« Ответ #3 : Август 21, 2007, 11:38 »

Код:
CONFIG += debug
или
Код:
CONFIG += release
сделал?
Записан
Mike
Гость
« Ответ #4 : Август 21, 2007, 11:45 »

Ну просто если запускаешь qmake без параметров, то он генерит и Makefile.Debug и Makefile.Release. Соответственно не очень хочется в *.pro конкретно задавать конфигурацию. Хотелось, чтобы после последовательности
qmake
nmake all
Были скомпилены и отладочная и релизная версии в разных папкaх. Он то ведь как-то понимает, когда генерит Makefile.Debug, что exe надо отправить в папку Debug, а когда Makefile.Release - что в папку Release. Так вот я хочу, чтобы при той же самой последовательности действий он выводил exe-шники в немножко другие папки, без оказания конкретной конфигурации в файле проекта.
Записан
WW
Гость
« Ответ #5 : Август 21, 2007, 12:52 »

Код:
CONFIG += debug
DESTDIR = ./debug
MOC_DIR += ./GeneratedFiles/debug
OBJECTS_DIR += debug
и он разбрасывает куда надо
Записан
bigirbis
Гость
« Ответ #6 : Август 21, 2007, 12:56 »

>> qmake CONFIG+=debug
>> qmake CONFIG+=release
Записан
Mike
Гость
« Ответ #7 : Август 21, 2007, 13:06 »

Работает так:
Код:
debug {
DESTDIR = ./bin/debug
OBJECTS_DIR = ./obj/debug
}

!debug {
DESTDIR = ./bin/release
OBJECTS_DIR = ./obj/release
}
и не надо ни
Код:
>> qmake CONFIG+=debug
>> qmake CONFIG+=release
ни
Код:
CONFIG += debug

Но самое прикольное то, что если в ./bin/debug или ./bin/release debug или release написать с большой буквы - ничего не работает.

Теперь просто qmake, а затем nmake all и все компилится и распихивается по нужным папкам.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.254 секунд. Запросов: 21.