错误:未知类型名称“QBuffer”;你的意思是“Qt3DRender::QBuffer”吗?

Posted

技术标签:

【中文标题】错误:未知类型名称“QBuffer”;你的意思是“Qt3DRender::QBuffer”吗?【英文标题】:error: unknown type name 'QBuffer'; did you mean 'Qt3DRender::QBuffer'? 【发布时间】:2021-02-06 07:04:28 【问题描述】:

我有这个代码:

    #include <QBuffer>

    // ---
    
    QString m_parentName;
    
    // ---
    
    QString path = QDir::tempPath();
    path = path + "/" + "temp-" + m_parentName + ".stl";

    QFile file;
    file.setFileName(path);
    file.resize(0); // Clear file contents if any
    file.open(QIODevice::Append);

    // Clear and add 80 bytes of header to QByteArray
    QByteArray temp_ba;
    QBuffer tmpBuffer(&temp_ba); // => error: unknown type name 'QBuffer'; did you mean 'Qt3DRender::QBuffer'?
    tmpBuffer.open(QIODevice::Append);

    tmpBuffer.write("Generated by: " // 14 bytes
                    "My Nice App"    // 11 bytes
                    "My Nice App"    // 11 bytes
                    "My Nice App"    // 11 bytes
                    "My Nice App"    // 11 bytes
                    "My Nice App"    // 11 bytes
                    "My Nice App"    // 11 bytes
                    , 80);

    file.write(temp_ba);
    file.flush();

    tmpBuffer.close();

我的 qmake 项目文件*.pro 包含:

QT += core gui qml quick quickcontrols2 widgets 3dcore 3drender 3dextras 3dinput 3dlogic 3dquick 3drender-private

我收到此错误:

错误:未知类型名称'QBuffer';你的意思是“Qt3DRender::QBuffer”吗? qbuffer.h:56:31:注意:此处声明了“Qt3DRender::QBuffer”

我做错了什么?

【问题讨论】:

【参考方案1】:

通过替换解决了错误:

#include <QBuffer>

与:

#include <QtCore/QBuffer>

不知道为什么?命名空间冲突?

【讨论】:

可能是库版本冲突,afaik 是新样式

以上是关于错误:未知类型名称“QBuffer”;你的意思是“Qt3DRender::QBuffer”吗?的主要内容,如果未能解决你的问题,请参考以下文章

错误:条纹:未知参数([object Object])。你的意思是传递一个选项对象吗?

错误:未知类型名称“mxArray”

操作系统的 Mach 库中的未知类型名称错误

引用 NSManagedObject 子类的协议中出现不一致的“未知类型名称”错误

cygwin 上的 FFMPEG 无法编译 libx264 错误:未知类型名称“HMODULE”

EParseError wamp:配置文件在第 592 行包含语法错误。未知参数名称“类型”