解决 Fedora Linux 35 下 Qt 程序 qDebug() 无输出问题
最近电脑硬盘升级,富裕了不少空间。就装了个 Fedora linux。
说起来我也算是个 linux 的老用户了,最开始用还是 redhat 9.0 。之后基本上就只用 Fedora linux。我记得用的第一个版本是 Fedora Core 3,后来一直用到 Fedora 23。中间还用过几个国产的 linux 发行版,比如 magiclinux。也用过 ubantu 和 debian 。前几年因为工作太忙,就没有在用 linux 了。这次装上 Fedora 35,感觉界面和原来的 Fedora 23 还是差不多。有点跑题了,还是说说我遇到的问题。
一个简单的 Qt 程序,发现里面 qDebug() 全都没有输出。研究了一下午,发现是Fedora 打包 Qt 时缺了一个文件。
参考了网上的一些内容:
关于 qt qDebug() 无输出问题的解决方法
Red Hat Bugzilla – Bug 1227295
第一篇blog 中提到要添加一个配置文件 qtlogging.ini, 具体方法如下:
touch ~/.config/QtProject/qtlogging.ini
我按照文章里的方法做了,但是还是没有输出。后来仔细读了读第二个网页。发现这个文件里面还要加几行:
[Rules]
*.debug=true
qt.*.debug=false
*.warning=true
*.critical=true
kscreen.*=true
; <EOF>
我试了一下,只要加了前三行,qDebug() 就能输出了。不过我建议还是都加上比较稳妥。
关于这个文件的作用,第二个网页里有比较详细的讨论。我就不多说了,大家可以看里面的介绍。