Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt隐藏控制台窗口停止写入日志文件_C++_Windows_Qt - Fatal编程技术网

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

C++ Qt隐藏控制台窗口停止写入日志文件,c++,windows,qt,C++,Windows,Qt,我有一个Qt项目。如果我使用Qt Creator启动应用程序,我从未见过任何控制台窗口(但exe将在任务管理器中显示) 但是如果我直接运行应用程序exe,控制台窗口会弹出并关闭 我通过从project.pro文件中删除CONFIG+=console来隐藏控制台窗口。但这会影响qDebug()日志记录。即,没有向日志文件(okb文件)添加任何内容 开发环境:Qt 4.7.3/Windows当没有控制台窗口时,所有调试输出都使用outputdugstring发送到。也就是说,您可以从调试器(visu

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

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

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


开发环境:Qt 4.7.3/Windows

当没有控制台窗口时,所有调试输出都使用
outputdugstring
发送到。也就是说,您可以从调试器(visual studio express使用调试器的“输出”窗口)读取它,但您不能通过运行类似
app>1.txt的东西将其重定向到文件(因为从技术上讲,没有控制台的应用程序没有标准输出)


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

什么是“okb”文件,以及如何将qDebug()输出放入文件?我尝试实现qInstallMsgHandler,但只有在启用控制台窗口时它才能工作。@JChan:“但只有在以下情况下它才能工作”这仅仅意味着你没有正确地实现它。您不能在非控制台windows应用程序中简单地使用std::cout或printf,即使您使用的是qInstallMsgHandler。打开日志文件,并从消息处理程序写入该日志文件。实现是错误的,它的工作感谢。。