Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: QCasper от Февраль 15, 2006, 16:50



Название: debug и release в linux
Отправлено: QCasper от Февраль 15, 2006, 16:50
меня мучает вопрос, вот в винде можно компилить с опциями release и debug, как это сделать в линуксе - при попытке make release мне говорят что мол no rule


Название: debug и release в linux
Отправлено: Admin от Февраль 15, 2006, 17:20
все нитак
debug - это gcc c опциями -W -Wall -ggdb3 -O0
release  - опции -O0 или по вкусу

я делаю debug так!
./configure --prefix=/home/eugene/local CFLAGS='-O0 -ggdb3' CXXFLAGS='-O0 -ggdb3'


Название: debug и release в linux
Отправлено: QCasper от Февраль 15, 2006, 18:01
Цитата: "Admin"
все нитак
debug - это gcc c опциями -W -Wall -ggdb3 -O0
release  - опции -O0 или по вкусу

я делаю debug так!
./configure --prefix=/home/eugene/local CFLAGS='-O0 -ggdb3' CXXFLAGS='-O0 -ggdb3'


дык это, при чем тут /configure? я про сборку своих прог


Название: debug и release в linux
Отправлено: Denis от Февраль 15, 2006, 18:06
qmake -after CONFIG+=release project.pro
gmake
qmake -after CONFIG+=debug project.pro
gmake


Название: debug и release в linux
Отправлено: Dendy от Февраль 15, 2006, 18:34
Цитата: "Denis"
qmake -after CONFIG+=release project.pro
gmake
qmake -after CONFIG+=debug project.pro
gmake


А ещё лучше:

Код:
qmake CONFIG+=debug_and_release project.pro


или

Код:
qmake CONFIG+=debug project.pro -o Makefile.Debug
qmake CONFIG+=release project.pro -o Makefile.Release


Название: debug и release в linux
Отправлено: QCasper от Февраль 15, 2006, 18:43
Цитата: "Denis"
qmake -after CONFIG+=release project.pro
gmake
qmake -after CONFIG+=debug project.pro
gmake


че-то не сильно помогло, размер файла такой же большой, вроде меньше при релизе должен быть, и тормозит (у меня графическое приложение), в винде так же тормозит когда дебаговая версия, а релиз так не тормозит


Название: debug и release в linux
Отправлено: Denis от Февраль 15, 2006, 18:57
Гораздо более интересен вопрос, как проще сделать возможность сборки на выбор только debug или release  в том случае, когда project.pro содержит "TEMPLATE = subdirs", а все поддиректории содержат и Makefile.Debug и Makefile.Release

добавлено спустя 1 минуту:

 > че-то не сильно помогло, размер файла такой же большой, вроде меньше при
> релизе должен быть, и тормозит (у меня графическое приложение), в винде так
> же тормозит когда дебаговая версия, а релиз так не тормозит

из этих 4 строк - две первые нужны для сборки релиза, две последние - для сборки дебага.

добавлено спустя 9 минут:

 Кстати, readelf показывает наличие debug секции в исполняемом файле или нет?


Название: debug и release в linux
Отправлено: Admin от Февраль 15, 2006, 22:14
а я вот не пользуюсь qmake а всегда пишу autoreconf макросы
достигается большая гибкость!


Название: debug и release в linux
Отправлено: Denis от Февраль 15, 2006, 22:43
Цитата: "Admin"
а я вот не пользуюсь qmake а всегда пишу autoreconf макросы
достигается большая гибкость!


И под Виндами тоже?


Название: debug и release в linux
Отправлено: Admin от Февраль 16, 2006, 03:09
нет!
там ручками VC и dsw проекты

у нас слишком сложные проекты, что бы qmake использовать


Название: debug и release в linux
Отправлено: QCasper от Февраль 16, 2006, 09:54
Цитата: "Admin"
а я вот не пользуюсь qmake а всегда пишу autoreconf макросы
достигается большая гибкость!


а что за autoreconf макросы, где про них узнать мона, и что за например структура у проетка, что qmake нельзя использовать?


Название: debug и release в linux
Отправлено: Admin от Февраль 16, 2006, 13:57
man autoreconf

а проекты, к примеру
как узнать стоит stl_port или нет
есть ли oracle в системе или нет
mysql в системе


Название: debug и release в linux
Отправлено: Denis от Февраль 17, 2006, 15:03
Цитата: "Admin"

нет!
там ручками VC и dsw проекты

у нас слишком сложные проекты, что бы qmake использовать


Это безыдейно вести две разные системы сборки. Что значит "слишком сложные проекты"? Одновременно на нескольких языках? С десятком компиляторов?