问题标签 [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 投票
0 回答
252 浏览

visual-studio-code - 使用 vcpkg 在 macOS 中构建 libzippp: ld: library not found for -llibzip::libzip

libzippp github链接

vcpkg github链接

它应该很简单,根据文档,应该“只是”./vcpkg install libzippp

但我已经尝试了它加上一点点,但没有任何效果。

我正在使用 VS Code,我的CMakeLists.txt是:

我有startProject PRIVATE libzip::libzip libzippp::libzippp,因为 vcpkg 表明这些是 libzippp 库的目标。

在我的 c_cpp_properties.json 上,我遵循了文档并包含"${vcpkgRoot}/x64-osx/include"

在 settings.json 中:

但我一直收到同样的错误,我什至没有指定libzip为目标,只有libzippp,所以我猜内部依赖发生了什么事?libzippp 在哪里寻找 libzip?

我是 C++ 和 CMake 的新手!易于理解的示例/解释表示赞赏:)

你可以假设我已经尝试了很多 SO 问题解决方案和教程来尝试解决这个问题,问这个问题是我的最终资源

0 投票
1 回答
51 浏览

compression - 什么可能导致 libbzip2 readOpen 函数出现意外 EOF 错误?

我正在使用 libbzip2 指令按照 bzip2 编程来制作压缩/解压缩脚本,但我在阅读步骤中遇到了问题。这是我的代码:

}

}

}

压缩模式工作正常,但如果它处于解压缩模式,bzRead 步骤将失败,我从错误消息/语句中得到以下输出:

nread = 0 E: 读取后 bzip 错误:-7

为什么nread会是0?此外,-7 代表一个意外的 EOF,但这怎么可能呢?我也尝试在使用内置 linux bzip2 压缩的文件上运行它,并获得相同的输出。

0 投票
1 回答
263 浏览

c - 如何使用 libzip 在 zip 中打开 zip

我正在尝试在拉链内打开一个拉链

从我所看到的来看, childzip没有被读取为 zip,因此它的段错误。我尝试强制转换,因为我知道 childzip 是一个 zip 文件,但程序没有看到它

如何将 zip_file_t 设置为 zip_t 以​​便我也可以提取其子级

0 投票
1 回答
116 浏览

c - 如何从 libzip 保存二进制文件

我的目标是将文件写入磁盘

如果我使用 gio 创建文件

我不能在文件中放任何东西。它只是一个用 0 字节创建的文件。我正在使用 loo 提取存档中的所有文件。因此索引zip_file_t *contentfile = zip_fopen_index(book, index, ZIP_RDONLY);. 我收到一个段错误:GError 设置在先前 GError 或未初始化内存的顶部。

如果我使用文件

这给出了一个分段错误:double free or corruption (out)

如何正确地将 zip_read( 内容写入磁盘上的文件?

0 投票
1 回答
81 浏览

c - 如何获取大文件的 zip_stat_t

对于小文件,我可以获得zip_stat_t信息,但如果它是 40Mb 大的文件,我不能。

info.name例如,对于大文件(例如 40mb 文件),打印会出现段错误。一个 2Mb 的文件将毫无问题地打开。我如何获得 的大小info.name,例如,因为似乎 info 结构没有正确存储在 RAM 中?

如果我这样做printf(strlen(info.name))会导致分段错误。

0 投票
1 回答
5715 浏览

php - 在 php:7.4-fpm 映像上安装 PHP-zip

我想在我的 docker 镜像上安装 php-zip(最终目标是使用 PhpWord 库)。我使用在 Debian 上运行的 php:7.4-fpm。

在我的 dockerfile 中,我使用命令:

执行时,脚本会因为找不到 /usr/src/php/ext/libzip 而崩溃。

所以我添加了一个很好的旧“apt-get install libzip”,但它找不到包。如果它尝试安装 "libzip4" 也是一样的:

我假设 libzip4 不是有效版本,或者它无法在 libzip 和 libzip4 之间建立链接。

主要问题是,没有那个库,我被卡住了,根本无法安装扩展。在 docker 方面,我也是一个安静的菜鸟,所以我呼吁你的帮助!

谢谢你的时间 !

0 投票
2 回答
108 浏览

c++ - 如何将存档写入在内存中创建的磁盘?

我有一个在磁盘上加密的 zip 存档。我将文件读入缓冲区,解密它(使用一些自定义算法),然后在内存中压缩它。

现在我可以修改存档,但如何将更改写回磁盘?我错过了什么吗?存档是在调用时创建的,zip_source_buffer_create(...)并且在调用时zip_close(...)会对内存进行更改。

麦克维:

0 投票
3 回答
186 浏览

c++ - libzip zip_source_t 缓冲区已被释放,即使我告诉 libzip 不要这样做

我遇到了 libzip 的问题,我不知道我是否做错了是否是库中的错误。

首先,我从磁盘上的 zip 文件创建一个存档zip_source_buffer_create()(不要问我为什么不直接打开文件)。

我将freep标志设置为 0,这意味着我将处理释放自己的缓冲区,这不是 lipzip 的工作。

如果我不将文件添加到存档中,它会起作用。

如果我将文件添加到存档中,当我删除缓冲区时,libzip 已经释放它并且我的应用程序崩溃了。这是图书馆的错误吗?

我写了这个不言自明的 mcve。使用AUTO_FREE_BUF=0ADD_FILE=1,应用程序崩溃。每隔 (3) 个案例工作。

libzip 版本:1.7.3

0 投票
1 回答
55 浏览

macos - 使用 Cmake 在 MacOS 上构建 Libzip 无法找到正确的包

我正在构建 libzip [版本 1.7.3]。该软件包使用 CMake。

作为初始设置,我执行以下操作:

然后我运行以下命令:

但是,Cmake 似乎无法找到 libbz2,因为我在消息列表中得到以下信息:

/usr/local我之前已经libbz2.dylib/usr/local/lib.

我试过专门设置CMAKE_PREFIX_PATH/usr/local. 而且我也FindBZip2.cmake/usr/local.

它仅在我 delete 时有效libbz2.framework,但这不是一个可行的解决方案。

有没有办法解决这个问题?

0 投票
0 回答
397 浏览

php - 如何在 masOS Big Sur - M1 arch 上安装 MAMP PHP zip 扩展?

我正在尝试在我的新 Macbook M1 上安装 php zip 模块,方法是:

过了一会儿,我收到了这个错误:

所以我跑:

我得到:

在这一点上,我被卡住了。任何想法?

谢谢