Qt隐藏控制台窗口停止写入日志文件

时间:2012-05-24 19:28:04

标签: c++ windows qt

我有一个Qt项目。如果我使用Qt Creator启动我的应用程序,我从未见过任何控制台窗口。(但是exe将在任务管理器中看到)。

但是如果我直接运行应用程序exe,控制台窗口也会弹出并关闭。

我通过从 project.pro 文件中删除CONFIG += console来隐藏控制台窗口。但是这会改变影响qDebug()日志的情况。即,没有任何内容添加到日志文件(okb文件)。

开发环境:Qt 4.7.3 / Windows

1 个答案:

答案 0 :(得分:1)

如果没有控制台窗口,则使用OutputDebugString将所有调试输出发送到debugger。即您可以从调试器(visual studio express - 使用调试器的“输出”窗口)读取它,但是您无法通过运行类似app > 1.txt的内容将其重定向到文件(因为没有控制台的应用程序在技术上没有标准输出)。

或者,您可以使用qInstallMsgHandler安装自己的消息处理程序来调试消息,并根据需要编写自己的日志文件。