1

抱歉,我在这类事情上没有经验,但我一直在互联网上搜索一段时间以了解如何在 Win 10 上将 Quazip 与 Qt 5.6 一起使用。我将非常感谢有关如何构建 Quazip 的步骤列表和在 Qt Creator 中使用它。

到目前为止,我尝试下载 Quazip,并将 pri 文件包含在我的 .pro 文件中

include(quazip-0.7.2/quazip.pri)

然后我替换了以下每个实例:

#include "zlib.h"

#include <zlib.h>

#include <QtZlib/zlib.h>

执行此操作后,我会收到许多编译器警告以及一些错误。

我的错误是:

QuaZIODevice::staticMetaObject': definition of dllimport static data member not allowed
QuaGzipFile::staticMetaObject': definition of dllimport static data member not allowed
QuaZipFile::staticMetaObject': definition of dllimport static data member not allowed

我的所有 15 个警告都包含:

inconsistent dll linkage

我非常感谢在这个问题上的任何帮助。

4

1 回答 1

2

文档中的引用:

默认情况下,QuaZIP 编译为 DLL/SO,但您还有其他选择:

  • 只需将适当的源文件复制到您的项目并使用它们,但您需要在包含任何 QuaZIP 头文件之前定义 QUAZIP_STATIC(最好作为编译器选项完成)。这将使您免于导入/导出 QuaZIP 符号的可能副作用。

这似乎是您正在做的事情,因此您可能应该将其添加DEFINES += QUAZIP_STATIC到您的 .pro 文件中。

于 2016-07-19T17:20:18.353 回答