gpt4 book ai didi

qt - qDebug()<
转载 作者:行者123 更新时间:2023-12-04 13:37:12 26 4
gpt4 key购买 nike

我在 Qt 5.3.1 中构建了一个 QWidgets 应用程序,并且在某些地方使用了

qDebug() << msg;

其中 msg 是一个 QString。
我已经编译并运行了几年,但今晚我决定重新编译它并收到消息:
D:\devt\myapp\extcoder.cpp:29: error: no matching function for call to 'QMessageLogger::debug()'
qDebug()<<msg;
^

事实上,我在前几天编写的另一个应用程序中遇到了类似的问题,通过试验,我认为我已经通过用 qDebug(msg) 替换这些调用来解决它。
但看起来好像某种软件腐烂了!
有任何想法吗?当然,文件以
#include <QDebug>

为了测试这个问题,我构建了一个准系统 QWidgets 应用程序(属于 QMainWindow 类型),我编写的唯一代码是(除了#include)
qDebug()<<"Hello world";

在 MainWindow 构造函数中。我得到完全相同的编译错误。

最佳答案

重新安装 Qt qDebug()<<s再次工作。

这确实是一种“软件腐烂”:我复制了原版后重新安装了qt 5.3.1,以便可以将新旧进行比较。

使用 Winmerge 我能够发现错误:
我不知道它究竟是怎么发生的,但文件 qlogging.h 已损坏。
发生的事情是这样的:在第 118 和 120 行,两个版本的 debug 的声明被重写为 NBIS_debug。
现在我一直在尝试从 NBIS 移植自由软件。在某个阶段,我必须将调试函数从 debug 重命名为 NBIS_debug,并且此修改必须一直传播到 qlogging.h。

关于qt - qDebug()<<qstring 不再编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683893/

26 4 0

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com