问题标签 [libzip]

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.

0 投票
1 回答
686 浏览

c++ - 查找文件名索引的libzip函数不起作用c ++

我今天开始学习 libzip 一切都很好,只是我无法让 zip_name_locate 工作,而且我找不到任何解释它的教程/示例/文档(文档确实有,但我无法得到它工作)。文档 1文档 2(我无法让其中任何一个工作,文档 2 页面也有一些显然没有在我的范围内声明的枚举)

因此,首先,我的 zip 存档可以正确打开,因为我可以向其中替换和添加文件。我有显示索引路径的终端输出(来自 zip_get_name 函数)。

存档文件数:3
dummy/
dummy/dummy1/
dummy/dummy1/dummytxt

无论我尝试查找其中哪一个的索引,我总是得到“dummy/”的索引,即 0,我还尝试了所有不同的枚举(ZIP_FL_COMPRESSED、ZIP_FL_ENCRYPTED、ZIP_FL_NOCASE、ZIP_FL_NODIR、ZIP_FL_RECOMPRESS、ZIP_FL_UNCHANGED 和0)。

(这个“dummy/dummy1/”返回 0,根据 zip_get_name 是“dummy/”)

如果有任何帮助,我将不胜感激。

0 投票
2 回答
4552 浏览

build - 如何构建 libzip 库?

尝试在 Windows 10 x64 上构建它时遇到问题。

我的环境是

我所做的是在libzip 站点下载项目,打开 CLion IDE(最新版本)并尝试编译。

整个构建过程有错误,可以在链接中找到。 http://pastebin.com/KTPtm5z3

许多未声明的变量显示为错误:

是什么导致了这个问题,为什么?

我可以在此存储库镜像 repo libzip v0.9中毫无问题地编译库版本 libzip ,但我想要最新版本的 libzip。

0 投票
2 回答
986 浏览

c++ - libzip 中的符号链接

我在 Linux 的 c++ 应用程序中使用 libzip,它需要能够压缩/解压缩包含符号链接的目录。我想添加链接本身而不关注它。使用 readlink() 读取链接并将其添加到 zip 存档中会在使用 unzip 解压缩时生成一个无意义的标准文件。

解决方案不需要是可移植的,它只会在Linux下使用。linux zip 命令有一个 --symlinks 标志,所以 zip 标准应该支持它。系统调用不是一个真正的选择,文件数量非常大,这使得应用程序非常慢。

是否可以使用 libzip 添加符号链接,以及如何添加?

谢谢,桑德

0 投票
1 回答
983 浏览

linux - 了解 libzip 的工作原理

我今天开始使用 libzip 库。但我不明白 libzip 的工作原理。

我的重点是将包含所有文件和目录的目录压缩到一个 zip 文件中。

因此,我从 开始zip_open(),然后读取目录内容并将所有目录添加zip_dir_add()到存档中。之后,我关闭了 zip 文件zip_close()。一切都很好。下一步应该是将所有文件添加到存档中 zip_file_add()。但它不起作用。关闭文件的最后一步失败。

好的,我忘了创建一个 zip_source 来完成这项工作。我在前一行添加了一条语句来获取此来源(zip_source_file())。但它仍然不起作用。

我的想法有什么问题?我还必须fopen()fclose()文件系统上的文件吗?

zip_source_file() 和 zip_source_filep() 有什么区别?

0 投票
1 回答
612 浏览

c++ - zip_open 给出未知错误

我正在使用 libzip,但我什至无法使用它。我想创建一个新的 zip 文件。

给我这个错误代码:-858993460

我编译了 zlib,然后自己成功地编译了 libzip(因为我没有收到错误),以便在 Visual Studio 中进行调试和发布。我按照此链接的说明进行操作。

我想念什么?

0 投票
1 回答
1813 浏览

php - 编译php7.0.1时找不到zipconf.h

我安装了 libzip-1.0.1,当我在安装 php 的 make 阶段时,它显示一个错误,说 zip.h 找不到 zipconf.h。实际上,libzip-1.0.1 有 zipconf.h,但与 zip.h 不在同一个目录下。它位于 /libzip-1.0.1/lib/ziplib/include 下。

所以我尝试将 zipconf.h 复制到 zip.h 所在的 libzip-1.0.1/include 中,或者更改 zip.h 文件。在zip.h中,我把#include<zipconf.h>改成#include<DIR/zipconf.h>,DIR就是zipconf.h的路径。

但是它们中的任何一个都有帮助,并且在我复制 zipconf.h 或更改 zip.h 文件后,另一个错误“找不到 zip.h”在制作阶段出现。

我该如何解决这个问题,并使用 libzip 编译 php。我在配置时使用标志 --with-libzip=DIR

0 投票
1 回答
884 浏览

c++ - 在 Mac 上编译 libzip:架构 x86_64 的未定义符号

我一直在学习 C++,并决定尝试在存档文件(例如 Word)上使用 libzip 创建一个简单的文件阅读器。

我最近使用 brew 在我的 Macbook 上安装了 libzip,但每当我尝试编译使用 libzip 的程序时,我似乎都会遇到以下问题:

我用来编译的命令:

主.cpp:

0 投票
1 回答
961 浏览

bzip2 - 如何在 C++ 中使用 libbz2 库解压缩内存缓冲区中的 pbzip2 数据

我有一个解压缩 bzip2 数据的工作版本,我在其中调用 bz2_bzdecompress API。它是这样的

这对于原生 bzip2 压缩文件非常有效,但对于 pbzip2(并行 Bzip2)和“可拆分”bzip2 数据,它会引发“BZ_PARAM_ERROR”。

我在他们的文档中看到 pbzip2 这么说-

使用 pbzip2 压缩的数据被分成多个流,每个流都经过 bzip2 压缩,如下所示:[-----|-----|-----|-----|-----| -----|-----|-----|-----]

如果您使用 libbzip2 编写软件来解压缩使用 pbzip2 创建的数据,则必须考虑到数据包含多个 bzip2 流,因此您将在每个流之后遇到来自 libbzip2 的流结束标记,并且必须提前查看是否存在在退出之前还有更多要处理的流。bzip2 程序本身会自动处理这种情况。

来源:http ://compression.ca/pbzip2/

有人可以告诉我如何处理吗?我应该使用其他一些 libzip2 API 吗?

此外,pbzip2 文件与普通的“bunzip2”命令兼容。当我的代码抛出 BZ_PARAM_ERROR 时,bzip2 如何优雅地处理这个问题?

谢谢。

0 投票
1 回答
4215 浏览

c++ - 使用 libzip 将文件解压缩到磁盘

我正在尝试使用 c++ 和 libzip 库解压缩可执行文件。从 rodrigo 对类似问题的回答开始,我来到这个示例代码:

据我了解,这段代码确实可以解压缩文件,但我不知道如何将该文件写入磁盘,就像使用 winzip 之类的工具提取 zip 文件一样。将解压缩的数据放在内存中对我没有帮助,但我一直无法弄清楚如何将文件实际放到磁盘上。

0 投票
1 回答
419 浏览

c++ - Libzip - 错误:打开存档时出错:没有错误

我正在尝试找出解决问题的方法;事实上,我正在编写自己的工具来使用 C++ 中的 libzip 进行保存来压缩文件。

绝对没有完成,但我想做一些测试,然后我做了并从日志中获得了一个“有趣的”错误。

这是我的功能:

我得到了=> Error : Error while opening the archive : No error ,当然,我没有写任何 .zip。

如果你能帮助我,谢谢你!