LZMA c++ 压缩大文件的问题
LZMA c++ problem with compression of large files
所以尝试压缩一个 22gb 的文件,一切都适用于文件 <2~gb 我得到的错误:SZ_ERRROR_FAIL。
在几个断点中,我从 LzmaEnc.c:2946 得到这个,因为 'p->nowPos64' 显示的值为 4294958849
我知道这是 32 位无符号整数的最大值。我正在用 x64 编译,所以这应该不是问题。
使用 LZMA 1.9
有人告诉我,在这一切的某个地方,有一个 uint32 正在使用。我必须找到并替换为uint64。
从 7Z SDK 实现
实现示例:
int res = SZ_OK;
res = LzmaEncode(
(unsigned char*)&outBuf[LZMA_PROPS_SIZE + sizeof(DATASIZE)], &destLen,
(unsigned char*)&inBuf[0], inBuf.size(),
&props,
(unsigned char*)&outBuf[0], &propsSize,
props.writeEndMark,
&g_ProgressCallback, &SzAllocForLzma, &SzAllocForLzma);
}
Iv 在查看更多源代码后阅读后添加了一个新的定义。_LZMA_SYSTEM_SIZE_T;
它似乎什么也没做。
我缺少让 LZMA 正常工作 #define 吗?文档充其量是冗长的。
来自 7z impl. 的普通 LMZA 不支持 4GB>文件。 必须使用 LMZA2。
相关文章:
- 使用mongocxx驱动程序时包含头文件问题
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 使用 seekg() 读取C++中的文件时出现问题
- sqlite3 和生成文件中的链接出现问题
- C++头文件和类实现出现问题
- 用户输入字符串的文件附加问题..C++
- node-gyp 的先有鸡还是先有蛋的问题:指向依赖项中的头文件
- 读取文件并将其存储在unordered_map中时出现问题
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- 我在使用C++文件时遇到了一些问题
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 将文件复制到自定义位置,存在字符串转换问题
- DirectX12 的问题:"d3dApp.h":没有这样的文件或目录
- (ODR 使用问题)在不同文件中priority_queue名称相同的结构
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 读取制表符分隔的文件时出现问题 C++
- 当我在 CLion 中读取数组中的 txt 文件时C++编码问题
- 使用 RapidXML 解析大型 XML(大小大于 65 KB)文件时出现问题
- C++:读取.BMP文件时出现问题;文件结束时间早于预期