问题标签 [quazip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 无法使用 quazip (Qt) 提取 exe 或 dll 文件
我正在构建一个 qt 框架来下载和安装应用程序更新(如obj-c 的sparkle)。下载有效,下载的 zip 文件是有效的,我可以手动提取内容,但是当我让我的框架通过 quazip 解压缩内容时,文件(dll 和 exe)包含这个并且只有这个字符串:“MZ”和一个特殊的字符编码错误(windows上的某种正方形和mac上的“ê”),所以正好是3个字节。当我在 zip 文件中包含一个文本文件(或 xml)时,它将被正确解压缩,手动和使用 quazip,所以我假设该库已正确编译。我的错误在哪里?
我认为这可以成为解决方案http://en.wikipedia.org/wiki/DOS_MZ_executable的一部分?
这是我安装更新的方法:
编辑:
我发现数据(QByteArray)具有预期的大小,所以我认为问题在于 QFile 没有按照应有的方式将 QByteArray 的内容写入 exe/dll 文件?
编辑2:
我发现了一个错误,要写入的文件大小:
代替
但是,exe 仍然没有图标或可执行文件(但文件大小正确)。一个dos窗口会在短时间内打开和关闭。有一个防病毒软件正在运行,但没有警报(因为这是一个公司笔记本,我无法将其关闭,并且更新框架也应该在运行,无论是否有防病毒软件正在运行)。
编辑3:
虽然我认为编写 exe 文件很复杂,但它是我为测试目的“实现”的愚蠢错误的混合物。所以简单
足够了。
deb - QT 5.2.1 应用程序在为 ubuntu 14.04 制作 .deb 包期间链接 libquazip.so 库时出现问题
我正在为 ubuntu 14.04 64 位的 QT 5 .2.1 桌面应用程序制作 .deb 包。我在 Ubuntu 14.04 上安装了 QT 5.2.1 并制作了一个演示应用程序,用于测试目的,我在其中使用了 quazip 库。在制作应用程序的 .deb 包期间,我遇到了以下问题。
dpkg-shlibdeps: 错误: 找不到 debian/demoapp/usr/bin/DemoApp1 所需的库 libquazip.so.1 (ELF 格式: 'elf64-x86-64'; RPATH: '') dpkg-shlibdeps: 警告:如果 debian/demoapp/usr/bin/DemoApp1 没有与 libz.so.1 链接(它不使用库的任何符号),包可以避免无用的依赖项 dpkg-shlibdeps: error: 由于上述错误而无法继续 注意:库不在没有任何 shlibs 或符号文件的其他二进制包中搜索。为了帮助 dpkg-shlibdeps 找到私有库,您可能需要使用 -l。dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 返回退出代码 2 make: *[binary-predeb-IMPL/demoapp] 错误 2 dpkg-buildpackage:错误:fakeroot debian/rules 二进制给出了错误退出状态 2 debuild:第 1364 行的致命错误:dpkg-buildpackage -rfakeroot -D -us -uc 失败
当我将 libquazip.so.1 复制到我机器中的路径 /usr/lib 时,我得到了以下问题。
dpkg-shlibdeps: 错误: 没有找到 /usr/lib/libquazip.so.1 的依赖信息 (debian/demoapp/usr/bin/DemoApp1 使用) dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr /bin/DemoApp1 返回退出代码 2 制作:* [binary-predeb-IMPL/demoapp] 错误 2 dpkg-buildpackage:错误:fakeroot debian/rules 二进制给出错误退出状态 2 debuild:第 1364 行的致命错误:dpkg-buildpackage - rfakeroot -D -us -uc 失败
我的 cmakelist.txt 文件如下所示。
cmake_minimum_required(版本 2.8.9)
项目(DemoApp1)
设置(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} “;/opt/Qt5.2.1/5.2.1/gcc_64/lib/cmake;”)
find_package(需要 Qt5Widgets)
包含目录(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1/quazip)
链接目录(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1)
add_executable(DemoApp1 main.cpp mainwindow.cpp moc_mainwindow.cpp mainwindow.ui)
target_link_libraries(DemoApp1 quazip z)
install(TARGETS DemoApp1 RUNTIME DESTINATION bin)
qt5_use_modules(DemoApp1 小部件)
我的 Debian 控制文件如下所示。
来源:demoapp
部分:游戏
优先级:额外
维护者: Manoj Patidar
构建依赖:debhelper (>= 8.0.0)、cmake、qtbase5-dev、cdbs
标准版本:3.9.4
包:demoapp
架构:任何
取决于:${shlibs:Depends},${misc:Depends}
说明:说明
说明会来这里
我想我需要在 “Depends: ${shlibs:Depends}, ${misc:Depends}” 行中为 quazip 添加一些依赖项。有什么我错过的吗?. 请调查这个问题,让我知道我做错了什么。
谢谢
c++ - QtDesigner 和 QuaZip 问题
不确定有多少人使用 QuaZip 在 Qt 中打开和处理 zip 文件,但我正在尝试使用以下代码打开一个 zip 文件:
它给了我错误:
我不知道我是否遗漏了一个步骤,因为 API 说明非常简单,并且我在代码中逐字逐句地遵循了它们。如您所见,我使用的是 Qt5;QuaZip 仅适用于 4 吗?最后,还有另一种在 Qt 中处理 zip 文件的方法吗?
谢谢!
qt - quazip:Windows ming32w-make 错误
我正在尝试使用 QT5.4 在 wdinwso 7 下编译 quazip 源代码。
我尝试在 VS 2013 下编译,但找不到 rc.exe 文件。我确保 rc.exe 和 dll 在 vs2013 和 vs2010 的 kits 和 SDK 文件夹中。
所以我跟着这个: http: //www.maefloresta.com/portal/quazip
当我这样做时,我收到以下错误消息,并且不确定从哪里开始查找。
从 quazip 中找到的 makefile.release 行:
对于 make 或 vs 2013 问题,任何帮助都会很棒。
干杯。
c++ - QuaZip - 受密码保护的文件
我正在研究从 .zip 中提取受密码保护的文件,发现 QuaZip 具有以下功能,但没有关于如何使用加密文件的代码示例或其他文档。
QuaZip中的加密文件绝对可以提取吗?如果在哪里有一些例子,请:)
打开一个文件进行阅读。
这是一个重载的成员函数,是为了方便而提供的。它与上述函数的不同之处仅在于它接受的参数。参数密码指定解密文件的密码。如果它是 NULL,那么这个函数的行为就像 open(OpenMode)。
参考 open()。
由 open() 引用。
c++ - Quazip 在 Mac 10.9、Qt 5.4 和 clang(64 位)上抛出错误
我正在尝试在我的 Qt 5.4 项目中使用 Quazip 0.7.1(在同一台机器上使用 clang 编译 Qt 5.4)来压缩存档中的文件。该代码在使用 MSVC 2012 编译器的 Windows 上运行良好,但是相同的代码在 Mac OSX 上崩溃并出现错误QIODevice::open file access not specified
。下面是我的代码片段。
代码在 zip.open 调用时崩溃。任何建议/想法将不胜感激。谢谢
c++ - windows 8.1和qt creator下编译quazip
我是新手,正在尝试在 qt 5.5 下使用 Quazip。所以我刚刚从http://quazip.sourceforge.net/下载了项目源代码并打开了 .pro 文件。当我尝试构建项目时,我遇到了多个错误:
为了避免在我刚刚安装的 Windows 上构建 zlib(从这里:http ://gnuwin32.sourceforge.net/packages/zlib.htm),C:\GnuWin32 中的 Windows 完整包。然后我在 .pro 文件中添加了这一行:
这产生了另一个错误:
但是改变这条线
解决了这个问题。
不幸的是,现在我得到了 25 个未解析的外部符号,其中一些:
我尝试添加这一行:
但这并没有解决问题。在 Qt 下使用 Quazip 最简单的方法是什么?
c++ - Qt:QuaZip 提取文件并在 QProgressDialog 中显示其进度
如何使用 QuaZip 提取 .zip 文件并在 QProgressDialog 中显示其提取进度?
我尝试了这个question1(以及这个question2)的一个例子,但没有成功。因为我需要解压缩 .zip 文件(而不是 .gz 文件),并且该代码显示进度百分比但不解压缩文件。即便如此,我也不知道如何在 QProgressDialog 中显示 %。
我已经能够使用以下方法提取 .zip 文件:
但是,这对我的目标来说还不够,因为我需要在 QProgressDialog 中实时显示提取进度......
这是我的代码:
在哪里:
在此代码中,QProgressDialog 不显示任何进度条,最后文件未解压缩。
任何想法?
谢谢你的帮助,
c++ - 使用 Quazip 获取目录压缩的进度
使用 JlCompress 功能时,无论如何可以从 QuaZip 获得进度吗?
这是我使用它的方式:
c++ - 使用 p7zip 加密和压缩
我正在尝试在我的 QT Xcode 项目中替换 7zip 的使用。目前这些文件是使用密码存档的,我在 Windows 上的项目在访问时使用 7z 自动打开文件。我发现 p7zip 是 linux/mac 的 7zip 的端口目标是:
- 使用密码打开现有的 7zip 存档文件
- 将带有密码的流保存为单个文件。
我使用以下命令构建
它构建没有任何错误,但我无法找到 *.a 或 *.dylib 文件。相反,我在 bin 文件夹中找到以下内容
- 7z
- 7z.so
- 编解码器
编解码器有 Rar.so
那是一个linux lib文件不是吗?
我对 Mac 开发人员非常陌生,因此任何帮助或建议都会有所帮助。我也找不到示例程序。