0
点赞
收藏
分享

微信扫一扫

Linux UOS(国产统信)系统下Qt无法打印日志的问题


前言

国产系统统信UOS(其实就是一个基于deepin的Linux系统)下,使用Qt无法通过qDebug打印日志,网上找了好多关于Qt无法输出日志的问题,都没有真正解决,终极解决办法如下:

首先在终端输入 ​​export -p​​ 查看环境变量的配置,在输出列表中看到:

Linux UOS(国产统信)系统下Qt无法打印日志的问题_重启


发现有一行是QT_LOGGING_RULES="*.debug=false"

解决方案

在终端输入命令编辑以下文件:
/etc/X11/Xsession.d/00deepin-dde-env

sudo vi /etc/X11/Xsession.d/00deepin-dde-env

然后注释这行代码:

Linux UOS(国产统信)系统下Qt无法打印日志的问题_linux系统_02


接下来保存退出,重启电脑就OK了。

附:用户估计

估计是为了避免各种应用的大量qDebug输出冲刷日志所以进行了全局屏蔽。

附:相关讨论参考

用std::cout每次都要把QString转换成std::string,自从Deepin 20.1 1003开始qDebug()就已经没有输出了,这时可看下/etc/X11/Xsession.d/00deepin-dde-env,其中QT_LOGGING_RULES="*.debug=true"的话,所有的qtdebug日志就会打印,得把这一行注释掉,然后再重启即可。


举报

相关推荐

0 条评论