前言
国产系统统信UOS(其实就是一个基于deepin的Linux系统)下,使用Qt无法通过qDebug打印日志,网上找了好多关于Qt无法输出日志的问题,都没有真正解决,终极解决办法如下:
首先在终端输入 export -p
查看环境变量的配置,在输出列表中看到:
发现有一行是QT_LOGGING_RULES="*.debug=false"
解决方案
在终端输入命令编辑以下文件:
/etc/X11/Xsession.d/00deepin-dde-env
sudo vi /etc/X11/Xsession.d/00deepin-dde-env
然后注释这行代码:
接下来保存退出,重启电脑就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日志就会打印,得把这一行注释掉,然后再重启即可。