如何在 Windows 10 上将 Quazip 与 Qt 5.6、Qt Creator 一起使用?

Posted

技术标签:

【中文标题】如何在 Windows 10 上将 Quazip 与 Qt 5.6、Qt Creator 一起使用?【英文标题】:How to use Quazip with Qt 5.6, Qt Creator on Windows 10? 【发布时间】:2016-07-19 15:47:50 【问题描述】:

抱歉,我对这类东西没有经验,但我一直在互联网上搜索一段时间,以了解如何在 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

非常感谢您在此问题上的任何帮助。

【问题讨论】:

【参考方案1】:

引用自文档:

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

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

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

【讨论】:

以上是关于如何在 Windows 10 上将 Quazip 与 Qt 5.6、Qt Creator 一起使用?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 10 上将代理配置到 GitBash 环境中

quazip:Windows ming32w-make 错误

如何在 Windows 10 上将 Xdebug 3 连接到 PhpStorm?

如何在Windows 10上将代理配置到GitBash环境中

如何在 Windows 上将 NPM 升级到特定版本 6.4.1?

如何在 Windows 上将 DELIMIDENT 与 IBM Informix ODBC 驱动程序一起使用