gpt4 book ai didi

c++ - Qt调试报错: "while parsing target library list: not well-formed (invalid token)"

转载 作者:行者123 更新时间:2023-11-28 08:22:07 25 4
gpt4 key购买 nike

我正在使用 QtCreator 调试在 Qt/C++ 中开发的应用程序。我的应用程序使用 QextSerialPort 从串行端口读取数据,其中串行端口连接到 Rhino Mark IV Controller 。

int  bytesRead;
char buffer[BUFFER_SIZE];
if (_serialPort->bytesAvailable() > 0
&& (bytesRead = _serialPort->read(buffer, BUFFER_SIZE)) > 0)
{
_comBuffer.append(buffer, bytesRead);
buffer[bytesRead+1] = 0; // for debugging purposes
qDebug(buffer); // for debugging purposes
}

我遇到了麻烦,因为我尝试读取一些 ASCII 数据,但进入缓冲区的是一些奇怪的字符。例如,数字零 ('0') 的 ASCII 代码被调试器显示并由 qDebug 打印为 '°' 的另一个代码替换。

此外,我在“应用程序输出”选项卡中收到以下消息:解析目标库列表时:格式不正确(无效标记)

我想知道为什么我没有使用 QextSerialPort 获得适当的 ASCII 代码。是 QextSerialPort 还是 Rhino Mark IV Controller 的问题? 我在两台显示器上通过串行端口查看流量,ASCII 字符在显示器上显示正确。因此,我得出结论,这不是 Controller 或通信 channel 的问题。

消息 while parsing target library list: not well-formed (invalid token) 是什么意思,为什么会这样?

最佳答案

您是否在您的应用程序中正确配置了串行端口(即波特率、停止位等)?

此外,当零终止缓冲区时,您不应将 1 添加到 bytesRead,因为这允许在字符串末尾出现一个不需要的字节。

该错误消息由 gdb 生成,不是Qt。这可能与使用具有非 latin1 编码名称的文件/文件夹有关。

关于c++ - Qt调试报错: "while parsing target library list: not well-formed (invalid token)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5433769/

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