搜了下,最先搜到的是qzipreader,qt自带的,不用再编译。尝试解压一个带密码的zip文件,结果不知道该如何设置解压密码。
https://dreamswork.github.io/qt4/classQZipReader.html
在这个网址上,也没找到设置解压密码的方法。
quazip,还得再编译,用法貌似也没qzipreader简单...
离线
这么懒,有源码都不想编译。
嗯,最后还是转到编译quazip,这个是cmake编译,倒是通过编译了,想测试下,尝试编译qztest,结果找不到QtCore...
对cmake还不熟悉...
离线
cmake编译quazip,倒是直接编译通过了。
想编译下quazip目录里的qztest,直接编译报错,找不到QtCore,修改了CMakeLists.txt文件,指定QtCore位置及目录,可以往下进行。
但是貌似最后链接阶段又报错:
Desktop:~/Qt5/quazipx86/qztest$ make
[ 6%] Automatic MOC and UIC for target qztest
[ 6%] Built target qztest_autogen
Consolidate compiler generated dependencies of target qztest
[ 13%] Linking CXX executable qztest
/usr/bin/ld: 找不到 -lQuaZip::QuaZip: 没有那个文件或目录
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/qztest.dir/build.make:282:qztest] 错误 1
make[1]: *** [CMakeFiles/Makefile2:85:CMakeFiles/qztest.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2
离线
折腾了一天,qztest还是没通过编译。
在pc上的ubuntu里,引用quazip生成的动态库,可以解压带密码的文件。
抄的这个网址的:https://blog.csdn.net/kenfan1647/article/details/116619267
编译ubuntu上用的quazip,没有指定zlib版本及目录,直接cmake,make完成的。
接下来该编译arm板上用的quazip了,不知道在cmake下该如何指定arm板用的zlib路径。
------------------------------------------------------------------
在cmakelists.txt里设置了交叉编译用到的gcc,指定了zlib路径。
结果编译到最后,提示qt库错误,是ubuntu上的qt库,不知道如何设置为arm板上的qt库了...
[ 11%] Linking CXX shared library libquazip1-qt5.so
/opt/Qt/5.13.2/gcc_64/lib/libQt5Core.so.5.13.2: file not recognized: 不可识别的文件格式
collect2: 错误:ld 返回 1
make[2]: *** [quazip/CMakeFiles/QuaZip.dir/build.make:324:quazip/libquazip1-qt5.so.1.4] 错误 1
make[1]: *** [CMakeFiles/Makefile2:99:quazip/CMakeFiles/QuaZip.dir/all] 错误 2
make: *** [Makefile:136:all] 错误 2
-----------------------------------------
我应该找个旧版本的quazip,能用qmake编译的...
-------------------------------------------
下载了0.7.3版本的quazip,交叉编译通过了,烧录到板子上,可以解压带密码的文件。还是qmake熟悉。
最近编辑记录 Gentlepig (2023-03-03 10:57:51)
离线