以前用过,不过换了Qt版本以及编译器之后就没弄了,今天看了下以前的代码发现编译不过去了,于是重新编译了一下quazip记录一下过程。
首先需要下载源码:
- zlib(https://zlib.net)
- quazip(https://quazip.sourceforge.net)
可惜没找到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的博客
没有评论:
发表评论