Я хочу знать о реализации файла заголовка с открытым исходным кодом zlib.h.
Я хочу знать, что именно означает следующее утверждение:
`Z_VERSION_ERROR` if the zlib library version (zlib_version) is incompatible
with the version assumed by the caller (`ZLIB_VERSION`).
Я работаю над ARMмашина с архитектурой arch64 и использование этого заголовка с открытым исходным кодом в нашей сборке.Возвращается Z_VERSION_ERROR
.
Я пытаюсь создать исполняемый файл с именем 'denzip', используя библиотеку libenz.a, которую я создал с помощью источника zlib.
PS: 'libdenz.a'это библиотека, которую я создал из стандартной библиотеки' libz.a 'из источника zlib.Причина в том, что у нас есть требование переименовать некоторые символы в исходной библиотеке (libz.a).
Команда построения:
common/pkgs/gcc/v6.3.0/bin/gcc -L/usr/X11R6/lib -O2 -DUSE_FLEX -Wall -Wno-char-subscripts -fPIC -DLINUX -DG_DISABLE_CONST_RETURNS -fno-strict-aliasing -o Release/tools/denzip -Wl,-E Release/tools/denzip.o -L/home/clib/extlibs/Lnx/lib -ldenbase -ldenz -ldenbase -ldl -lm -lc
У меня есть библиотека 'libdenz.a' впуть '/ home / clib / extlibs / Lnx / lib'.После того, как исполняемый файл 'denzip' создан.Когда я пытаюсь использовать этот исполняемый файл, я получаю:
denzip -c trctotb.tcl
Error: *** Error: Error in trctotb.tcl compression: bad library version
*** Error: trctotb.tcl: aborting compression
Источник:
int rc;
rc = DenZ_deflateInit( &zstream, Z_DEFAULT_COMPRESSION );
switch ( rc ) {
case Z_MEM_ERROR:
reportZError( "insufficient memory", contentType,
"compression", &zstream );
return FALSE;
case Z_VERSION_ERROR:
printf("The integer is %d\n", zlib_version);
reportZError( "bad library version", contentType,
"compression", &zstream );
return FALSE;
}
Z_VERSION_ERROR
исходит от zlib.h