quazip的编译和使用

以前用过,不过换了Qt版本以及编译器之后就没弄了,今天看了下以前的代码发现编译不过去了,于是重新编译了一下quazip记录一下过程。

首先需要下载源码:

可惜没找到msvc2015编译好的zlib,所以得自己编译了,过程就直接用cmake搞定,然后把相关文件复制到指定目录就可以了:

之后是quazip的编译,首先将quazip/quazip.pro文件修改一下,不编译qztest:

TEMPLATE=subdirs
SUBDIRS=quazip# qztest
#qztest.depends = quazip

之后修改一下quazip/quazip/quazip.pro文件添加(具体zlib路径视情况而定):

INCLUDEPATH += $$PWD \
        E:/3rdParty/zlib/include
LIBS += -LE:/3rdParty/zlib/lib -lzlib

之后执行命令编译quazip(qmake && nmake)。
最后测试代码:

#include "JlCompress.h"
...
if(JlCompress::compressDir(ZipFile, Directory))
{
    qDebug() << "Created: " << ZipFile;
}

编译会遇到个错误:

moc_quaziodevice.cpp:65: error: C2491: “QuaZIODevice::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义

解决方法是在pro文件中加入DEFINES += QUAZIP_STATIC

参考文章:
https://stackoverflow.com/questions/38463163/how-to-use-quazip-with-qt-5-6-qt-creator-on-windows-10

转载请注明: 本文《quazip的编译和使用》来源于bstaint的博客

没有评论: