-1
當我嘗試初始化zlib流來壓縮一些數據時,我得到Z_VERSION_ERROR返回。該手冊說,如果zlib庫版本與調用者假定的版本不兼容,則返回Z_VERSION_ERROR。我不知道如何解決這個問題,似乎我的系統上只有一個版本的zlib。無法初始化zlib deflate Z_VERSION_ERROR
示例代碼
#include "zlib.h"
...
printf("VERSION %s\n", ZLIB_VERSION);
int rc = 0;
z_stream strm;
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
rc = deflateInit(&strm, -1);
if(rc != Z_OK){
printf("Error %d\n", rc);
return;
}
回報
VERSION 1.2.8
Error -6
示例程序zpipe.c有提及Z_VERSION_ERROR返回「如果zlib.h的版本和鏈接的庫的版本做評論不匹配「,所以我檢查了鏈接版本和zlib.h文件,他們都說1.2.8。
LDD
ldd output
libz.so.1 => /usr/lib/libz.so.1 (0x00007fe9b4c5c000)
...
libz.so.1是符號鏈接
file /usr/lib/libz.so.1
/usr/lib/libz.so.1: symbolic link to libz.so.1.2.8
zlib.h
cat /usr/include/zlib.h |grep ZLIB_VERSION
#define ZLIB_VERSION "1.2.8"
我發現了一個解決方案,我沒有得到確切的發生了什麼,但我的源文件中的其他地方包含了assimp庫,它還取決於zlib,#including zlib.h,assimp包含哪個固定Z_VERSION_ERROR。 – ktfh
感謝zlib – ktfh