Qtcreator как перенапривить вывод cout ?, окно "консоль приложения" |
Здравствуйте, гость ( Вход | Регистрация )
Qtcreator как перенапривить вывод cout ?, окно "консоль приложения" |
flankerr |
27.5.2011, 14:04
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Есть GUI апликуха но для отладки надо сделать чтобы строка std::cout << "test"
приводила к выводу в окно QtCreator "консоль приложения" ну или как под Windows сделать чтобы создавалась консолька вместе с GUI окном. Через MSVS это делается а вот как это сделать через pro файл не понимаю. |
|
|
RazrFalcon |
27.5.2011, 14:18
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Оно? |
|
|
flankerr |
27.5.2011, 14:24
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Оно?Если пишешь под Qt то можно и так, однако... У меня есть модули которые с одинаковым успехом используются как в Qt проектах так в проектах без Qt так вот вкрячивать туда два вида вывода через ifdef мягко говор кривовасто, да и утомительно. Посему в целом хочется более универсальный сопосб без завязки на Qt т.е. или вывод окна с консолью или перенаправление консольного вывода в QtCreator Сообщение отредактировал flankerr - 27.5.2011, 14:24 |
|
|
RazrFalcon |
27.5.2011, 15:03
Сообщение
#4
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
И в правду cout странно работает. Не знаю. Не сталкивался.
|
|
|
Litkevich Yuriy |
27.5.2011, 19:10
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
flankerr |
30.5.2011, 10:18
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
|
|
|
wiz29 |
30.5.2011, 10:25
Сообщение
#7
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
You use it like this:
исходник статьи qdebugstream link Сообщение отредактировал wiz29 - 30.5.2011, 10:52 |
|
|
flankerr |
30.5.2011, 12:27
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
|
|
|
wiz29 |
30.5.2011, 13:06
Сообщение
#9
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
Есть GUI апликуха но для отладки надо сделать чтобы строка std::cout << "test" приводила к выводу в окно QtCreator "консоль приложения" что конкретно не понятно? сформулируйте тогда конкретно, что нужно сделать. ничего там "хитрожопого" нет. Однако мне надо решить вопрос БЕЗ Qt С этого момента становится совсем непонятно чего вы хотите. чтобы просто увидеть что выводится из std::cout в консоли QtCreator , в нужных местах достаточно вызвать std::cout.flush(). опция CONFIG += console работает, если запускать приложение не из под среды QtCreator (нафига создавать 2 консоли). На мой взгляд, проще перенаправить потоковый вывод в qDebug, чем изобретать велосипед. |
|
|
flankerr |
30.5.2011, 13:21
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
А что не понятного...
Есть GUI апликуха реальзованная на Qt нужно получить действие qDebug средствами std::cout \ printf Пока не получается разобраться в реализации qDebug там же по сути наверняка делатся некое переопределение\перенапрвление Подчеркну что при работе в MSVS проблем нет. Можно спокойно созадать дополнительное консольное окошко где будт делаться вывод. Тогда как в pro файле НЕ удаёться совместить консольное окно и GUI - одно замещает другое. Ещё раз подчеркну что считаю переопределние cout в qDebug весьма глупой затеей т.к. в дальнейшем qDebug полбюбому будет использовать что-то аля cout std::cout.flush() не приводит к какому то видимому результату И главное! У меня НЕТ возможности использовать Qt! Апликухха использует модуль (dll) которая написана БЕЗ Qt. Вывод нужно делать в этом модуле. Этот модуль ЕДИНЫЙ для разных апликух влючая те которые написаны БЕЗ Qt. Ксати, в QtCreator в настройках запусках есть опция "запускать в терминале". при устанвке этой опции запускается консолька - казалось бы вот оно решение - фигас два. Консолька то есть а вот вывод туда не работает, пробывал и qDebug и cout и printf один фиг не выводит туда ничего. Зачем эта консолька не понятно... Сообщение отредактировал flankerr - 30.5.2011, 13:14 |
|
|
Текстовая версия | Сейчас: 20.4.2024, 5:01 |