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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: qt6+QtCreator12 - не работает qDebug()  (Прочитано 1214 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Март 13, 2024, 20:59 »

все делаю, как делал в qt4 и qt5, но в "выводе приложения", а, собственно, нигде, не вижу вывода qDebug(). Пытался добавить "сопутствующие" библиотеки-ничего не дает
вот скриншот: https://www.dropbox.com/sc/yur6fnkhg7s7wcu/AACSF89mjbKbQDSZ88nuAN39a
Похоже, где-то еще надо "галочку" поставить?
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #1 : Март 13, 2024, 22:00 »

Что есть "все делаю, как делал в qt4 и qt5"?
Приведите небольшой тестовый проект, что именно вы делаете и что именно не получается.
Записан

mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Март 14, 2024, 11:29 »

вот тут один и тот же проект для qt6 и для qt5. В 5 версии оба раза qDebug выводит сообщение в "вывод приложения", в 6 версии вообще никуда не выводится и при наведении мышки на "qDebug", пишет <no such value>. Хотя до запуска программы при наведении мыши просто всплывает подсказка о самой функции
https://www.dropbox.com/scl/fi/msfljruai8zn2m51c6ntt/5_6.zip?rlkey=oov4gpqdb8i2pljohblyfn19n&dl=0
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #3 : Март 14, 2024, 21:33 »

Проверил в Qt 5.15.11 и 6.6.1 оба проекта. Qt Creator 12.0.2.
Поведение аналогично в обоих случаях. Всё работает как должно.
Собственно, почему бы не работать? В коде нет ничего особенного.
« Последнее редактирование: Март 14, 2024, 22:04 от tux » Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #4 : Март 14, 2024, 23:54 »

может у тебя 6-ка как-то хитро собрана? сделай отладчиком step into в qDebug, посмотри куда провалится (возможно понадобятся исходники Qt)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #5 : Март 15, 2024, 10:55 »

tux :
вот и я думаю, почему бы не работать нормально? Но, зараза, не работает-см. скриншот выше
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #6 : Март 15, 2024, 11:33 »

kambala
я сам ничего не собирал, скачал с оф. сайта. Пробовал пройти по шагам, ничего не понял: там задействуются 12 файлов, причем сначала как аргумент передается текст , заданный мною в qDebug, а потом, как я понял, начинается проверка, как его выводить, в результате выясняется, что выводить его вообще не надо. Могу скинуть скрины (там их 33 получится), может посмотрите?
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #7 : Март 15, 2024, 13:30 »

Может вывод отключен через дефайн QT_NO_DEBUG_OUTPUT?
Цитировать
в результате выясняется, что выводить его вообще не надо
вот тут и надо присмотреться
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #8 : Март 15, 2024, 20:02 »

kambala
я сам ничего не собирал, скачал с оф. сайта.
А почему бы просто не поставить с родного репозитория дистрибутива? Допустим, на gentoo всё работает "из коробки". По крайней мере у меня.
Или вы под форточками хотите?
Записан

mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #9 : Март 16, 2024, 09:45 »

А почему бы просто не поставить с родного репозитория дистрибутива? Допустим, на gentoo всё работает "из коробки". По крайней мере у меня.
Или вы под форточками хотите?
упаси боже. У меня Arch, установил сборку именно с официального репозитория. Пока искал решение, наткнулся на старую жалобу, что подобное у Arch'а уже было и решение было ждать, когда косяк исправят.
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #10 : Март 16, 2024, 09:47 »

попробуй сам собрать Qt из исходников
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #11 : Март 16, 2024, 11:27 »

Может вывод отключен через дефайн QT_NO_DEBUG_OUTPUT?
нет, тут все в порядке. А разбираться в самом Creator'е  мне что-то лень. Буду нужное запихивать в QMessageBox-идиотизм, конечно, но временно сойдет. Спасибо за помощь
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
tux
Крякер
****
Offline Offline

Сообщений: 399



Просмотр профиля
« Ответ #12 : Март 16, 2024, 12:22 »

Можно ещё попробовать что-то типа
Код:
#include <QtGlobal>
#include <stdio.h>
#include <stdlib.h>

void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
    QByteArray localMsg = msg.toLocal8Bit();
    switch (type) {
    case QtDebugMsg:
        fprintf(stderr, "Debug: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtInfoMsg:
        fprintf(stderr, "Info: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtWarningMsg:
        fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtCriticalMsg:
        fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        break;
    case QtFatalMsg:
        fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
        abort();
    }
}

int main(int argc, char **argv)
{
    qInstallMessageHandler(myMessageOutput); // Install the handler
    QApplication app(argc, argv);
    ...
    return app.exec();
}
Возможно, что в вашем случае сообщения просто не падают в консоль.
Записан

kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #13 : Март 16, 2024, 13:28 »

Может вывод отключен через дефайн QT_NO_DEBUG_OUTPUT?
нет, тут все в порядке. А разбираться в самом Creator'е  мне что-то лень. Буду нужное запихивать в QMessageBox-идиотизм, конечно, но временно сойдет. Спасибо за помощь
а ты уверен, что дело в креаторе? запусти свое приложение в терминале и проверь будет ли вывод.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #14 : Март 18, 2024, 02:15 »

а ты уверен, что дело в креаторе? запусти свое приложение в терминале и проверь будет ли вывод.
не уверен. Создаю консольное приложение QT. Вот код
Код:
#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<"1234";

    return a.exec();
}
Ошибок нет, все выводится, хоть из Creator'а, хоть из консоли. Но только в режиме "выпуск". В режиме "отладка" не выдает ничего. Чет я ничего не понимаю
« Последнее редактирование: Март 18, 2024, 22:34 от mokynis » Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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