Russian Qt Forum

Qt => Общие вопросы => Тема начата: Dr.Vlad от Июль 28, 2012, 00:52



Название: Как в Линях скрывать вывод на консоль?
Отправлено: Dr.Vlad от Июль 28, 2012, 00:52
Когда я запускаю программу в Линях с консоли, на ней отображается вся отладочная инфа.
Как программно её скрывать?


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: kambala от Июль 28, 2012, 01:15
программа собрана в режиме релиз?


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: Dr.Vlad от Июль 28, 2012, 01:31
программа собрана в режиме релиз?

да


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: ecspertiza от Июль 28, 2012, 08:41
добавить в про файл

Код:
debug:DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
release:DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT

но некоторые варнинги все равно продолжают падать


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: Dr.Vlad от Июль 28, 2012, 09:28
Спс  :)


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: kambala от Июль 29, 2012, 22:51
условие написано неправильно. надо писать CONFIG(release, debug|release) для релиза и CONFIG(debug, debug|release) для дебага, т.е. например если хочется отключить вывод только для релиза, то следует написать
Код:
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
а если хочется отключить вывод для любого режима, то просто
Код:
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: ecspertiza от Июль 29, 2012, 23:42
условие написано неправильно. надо писать CONFIG(release, debug|release) для релиза и CONFIG(debug, debug|release) для дебага, т.е. например если хочется отключить вывод только для релиза, то следует написать
Код:
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
а если хочется отключить вывод для любого режима, то просто
Код:
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT

Неправильно в смысле кодесатйла ? Ибо это работает вроде без проблем :)


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: kambala от Июль 30, 2012, 00:31
неправильно в смысле неверно. конечно работает, т.к. указанные тобой 'define' и 'release' тупо игнорятся и вывод отключается для обеих сборок. а ты попробуй выбросить например строчку для дебага и проверить будут ли сообщения в дебаге ;)


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: ecspertiza от Июль 30, 2012, 11:36
И правда, спасибо что рассказал как верно, а то так бы и использовал :)


Название: Re: Как в Линях скрывать вывод на консоль?
Отправлено: gogi от Август 02, 2012, 10:00
условие написано неправильно. надо писать CONFIG(release, debug|release) для релиза и CONFIG(debug, debug|release) для дебага, т.е. например если хочется отключить вывод только для релиза, то следует написать
Код:
CONFIG(release, debug|release):DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
а если хочется отключить вывод для любого режима, то просто
Код:
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT

Неправильно? Кому как. Я, например, использую только либо релизную либо отладочную сборку. Поэтому прописываю
Код:
CONFIG			-= debug_and_release

И все последующие условия становятся простыми.