很简单的问题,因为不了解,愣是弄了好长时间,献给新手们,ps:第一次发博
本人只测试了在qtcreate上的实现,在vs中没有尝试,流程应该是一样的,请大家自己发挥
跟着我一步步来:
1.souceforge下载地址:http://sourceforge.net/projects/quazip/ 下载最新的quazip,我这次下载的是quazip-0.7.2
直接编译会报错,要做下面的修改:
2.打开刚刚下载的quazip.pro,把其中的
SUBDIRS=quazip qztest 改为
SUBDIRS=quazip
3.将qt安装目录下的两个头文件拷贝出来(zlib.h和zconf.h),不同版本路径可能有出入,可以搜索入下图
4.,将两个头文件拷贝到quazip项目路径中,路径:\quazip-0.7.2\quazip\,然后添加到项目程序中,编译--成功。
做了以上简单操作后,程序就不会报错了,会生成libquazip.a,quazip.dll。
5.新建一个自己的测试程序。
将quazip中用到的头文件拷贝到测试程序中,新建一个zip文件夹存放
6.在my_zip_test.pro中添加以下代码
INCLUDEPATH +=./zip
CONFIG(debug, debug|release) {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazipd.a
win32:win32-g++: LIBS += -L$$PWD/zip/ -l quazipd
} else {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazip.a
win32:win32-g++: LIBS += -L$$PWD/zip/ -l quazip
}
7.使用示例:
#include <QCoreApplication> #include "JlCompress.h" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); JlCompress::compressDir("d:\\test.zip", "d:\\test"); //压缩 JlCompress::extractDir("d:\\test.zip", "d:\\test");//解压缩 return a.exec(); }此时程序可以编译成功但是会报:异常退出
8.解决办法:
把quazip项目生成的quazip.dll和quazipd.dll分别放在release 和debug版本my_zip_test.exe的相同目录下,再编译运行就OK了。
如果有想直接使用已经编译好的dll和.a请前往链接去下载,还有一个简单的小例子:
http://download.csdn.net/detail/jing332/9557338
有不明白的请留言!