首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QtCreator:未显示qDebug消息

QtCreator:未显示qDebug消息
EN

Stack Overflow用户
提问于 2017-01-02 10:58:01
回答 2查看 4.6K关注 0票数 3

我目前正在Windows 7 (64位,终极)上使用currently 3.2.1和QT5.3.2(按照我当前项目的要求)。我目前正在做一个GUI项目

我无法在应用程序输出窗口中看到任何qDebug消息,尽管我已经完成了以下操作:

  1. 具有适当的QDebug代码
  2. 以调试模式构建项目
  3. 使用"CONFIG += openssl链接“"CONFIG +=控制台”作为构建项目的附加参数
  4. 根本没有定义QT_NO_DEBUG_OUTPUT
  5. 确认我有一个调试器( MinGW 4.8.2 32位在安装QtCreator期间安装了GDB)

我能知道我还应该尝试什么吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 18:37:34

我没有收到任何由Qt中的qDebug()输出的调试消息?那是什么原因呢?

通过自定义日志消息处理程序重新定义Qt应用程序中的标准Qt调试输出是很常见的,但我们仍然可以处理使调试消息到达调试控制台的问题:

代码语言:javascript
复制
// example for custom message handler
void customLogHandler(QtMsgType type, const QMessageLogContext& context,
                      const QString& msg)
{
   // send the data to log file via the other thread
   emit writeToFile(type, context, msg);

   // now output to debugger console
#ifdef Q_OS_WIN
    OutputDebugString(text.toStdWString().c_str());
#else
    std::cerr << text.toStdString() << std::endl;
#endif
}

void main()
{
   // custom handler start
   qInstallMessageHandler(&customLogHandler);

   // other app initializations
}
票数 3
EN

Stack Overflow用户

发布于 2020-03-31 22:01:16

是在Arch上为我做的。

Qt创建者>工具>选项>工具包,选择工具包,查找环境,单击change并添加:

代码语言:javascript
复制
   QT_ASSUME_STDERR_HAS_CONSOLE=1

现在,可以在应用程序输出中输出消息,如下所示:

代码语言:javascript
复制
   qDebug() << "User clicked on the button!";

比你在节目中看到的要好:

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41425530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档