Manjaro系统下Qt Creator控制台无法输出qDebug等日志问题求助
解决方案
- 第一步:优先检查Qt Creator运行环境变量配置
打开Qt Creator左侧「项目」栏,选中当前使用的Qt5.15.2构建套件,进入「运行」标签,找到「环境」配置项点击添加:
变量名:QT_LOGGING_RULES
变量值:*.debug=true;qt.*=false
配置完成后重新运行项目,查看Qt Creator底部「应用程序输出」面板是否有日志打印。 - 第二步:修正qtlogging.ini配置路径
Manjaro属于Arch衍生发行版,系统软件源安装的Qt默认读取系统级配置文件,用户目录下的qtlogging.ini不会生效,需要修改全局配置:
终端执行命令:
将文件内容修改为:sudo nano /etc/xdg/QtProject/qtlogging.ini
保存退出后重启Qt Creator再测试。[Rules] *.debug=true qt.*.debug=false - 第三步:清理旧构建缓存
之前的构建缓存可能会保留旧的编译参数,点击顶部菜单栏「构建」->「清理所有」,再选择「重新构建项目」后运行,避免缓存导致配置不生效。 - 第四步:代码强制开启日志(临时测试用)
可以在main函数最开头添加代码强制覆盖日志规则,优先级高于所有配置文件:
加入后运行如果能正常打印日志,说明问题出在配置文件或环境变量配置错误。#include <QLoggingCategory> int main(int argc, char *argv[]) { QLoggingCategory::setFilterRules(QStringLiteral("*.debug=true")); // 其余原有代码保持不变 } - 额外注意事项
确认你查看日志的位置正确:Qt Creator GUI程序的日志默认输出到底部的「应用程序输出」面板,如果你勾选了CONFIG+=console,也会在弹出的独立终端窗口打印。如果还是没有输出,建议替换为Qt官方维护工具安装的Qt套件,发行版打包的Qt经常会修改默认编译参数和配置规则,容易出现异常问题。
内容的提问来源于stack exchange,提问作者qreodium
相关产品推荐
相关产品推荐

