Qt 5.7编译问题



  • QListQZipReader::FileInfo allFiles = m_reader->fileInfoList();
    这句编不过去,m_reader 的类型是QScopedPointer<QZipReader>。

    class Q_GUI_EXPORT QZipReader
    {
    public:
    explicit QZipReader(const QString &fileName, QIODevice::OpenMode mode = QIODevice::ReadOnly );

    explicit QZipReader(QIODevice *device);
    ~QZipReader();
    
    QIODevice* device() const;
    
    bool isReadable() const;
    bool exists() const;
    
    struct FileInfo
    {
        FileInfo() Q_DECL_NOTHROW
            : isDir(false), isFile(false), isSymLink(false), crc(0), size(0)
        {}
    
        bool isValid() const Q_DECL_NOTHROW { return isDir || isFile || isSymLink; }
    
        QString filePath;
        uint isDir : 1;
        uint isFile : 1;
        uint isSymLink : 1;
        QFile::Permissions permissions;
        uint crc;
        qint64 size;
        QDateTime lastModified;
    };
    
    ***QVector<FileInfo> fileInfoList() const;***
    

    因为上面这句,出现error: invalid use of incomplete type 'class QVectorQZipReader::FileInfo'
    QListQZipReader::FileInfo allFiles = m_reader->fileInfoList();
    ^
    }

    请问这样要怎么解决啊?


  • 网站研运



  • @vvLinker 提示无无法找到类实现。

    这里需要仔细注意,如果你是使用第三方库,不要忘记检查 Qt 的版本和其他依赖。这里看起来是某个 cpp 文件没有引用到这个头文件 。

    QZipReader::FileInfo 这个类型定义是在头文件中的。



  • Qt5.5和Qt5.6的QZipReader不一样。

    然而QZipReader是Qt的私有API,Qt不保证使用私有API的程序的API/ABI兼容性。
    编译不过是很正常的。


Log in to reply
 

走马观花

最近的回复

  • 🥚 🥒 🥚

    read more
  • 论坛似乎更换了新的表情呢。我试试看看?♂ ♂ :smiling_face_with_open_mouth_closed_eyes:

    read more
  • 最近尝试将我们动作编辑器的部分装入NDK中,出现了很难解决的问题。导致进行不下去了,后面发现是NDK库调用约定的问题。最后只得发现,只能使用C调用约定才能够顺利地链接成功。☹

    read more
  • qmake输出 warning: winrt_manifest_install.path is not defined: install target not created.

    运行直接报错 Cannot establish connection to the WinRT debugging helper.

    大佬们,我是不是缺什么组件还是怎么回事啊?

    read more

关注我们

微博
QQ群