В настоящее время у меня ужасно раздражающая проблема при разработке программ с использованием Qt и Qt Creator. Всякий раз, когда я пытаюсь использовать qDebug()
с QCoreApplication
или же QApplication
инстанцируется перед использованием qDebug()
, нет никакого вывода, запускаю ли я программу в Qt Creator или из обычной оболочки (я использую Fedora Linux, кстати). Например, даже следующий простой код не работает:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "TestOutput!" << endl;
}
Кто-нибудь знает, что делать с этой проблемой?
Заранее спасибо,
Marius
Для лучшего форматирования я добавляю это новое решение, Мариус все еще нашел его в этот багзилла.
редактировать ~/.config/QtProject/qtlogging.ini
и добавить:
[Rules]
*.debug=true
qt.qpa.input*.debug=false
Последняя строка должна отключить ведение журнала спама для moved mouse
Сообщения.
Документы об этом можно найти здесь: http://doc.qt.io/qt-5/qloggingcategory.html#details
Это может быть настроено многими способами. Несколько полезных примеров:
по переменной env (cmd):
$ export QT_LOGGING_RULES="*.debug=true" ./app
по переменной env (экспорт):
$ QT_LOGGING_RULES="*.debug=true"$ ./app
или в коде:
#include <QCoreApplication>
#include <QLoggingCategory>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QLoggingCategory::setFilterRules("*.debug=true");
qDebug() << "Debugging;
a.exit();
}
Хорошо, я выяснил, в чем проблема, это была действительно Fedora, но это новая стандартная конфигурация. Посмотреть здесь:
https://forum.qt.io/topic/54820/
Это одна помощь для меня (в файле пользователя bashrc):
export QT_LOGGING_DEBUG=1