我在windows下的mingw中使用zlib似乎无法实现任何功能。
我从http://sourceforge.net/projects/mingw/files_beta/MinGW/zlib/zlib-1.2.3-1-mingw32/下载了zlib,并将头文件和库文件放在了正确的位置。
像这样简单的代码:
#include <stdlib.h>
#include <stdio.h>
#include "zlib.h"
int main(int argc, char *argv[])
{
long a;
char buffer[1024];
a = 1024;
compress(buffer,&a,"testing",7);
return 0;
}
编译后:
gcc test.c -lzlib -Wall -o test.exe
编译没有问题。 但是可执行文件在压缩函数处崩溃。 有什么想法吗?
-lz
而不是-lzlib
吗?我发现zlib软件包安装了一个libz.a
文件(和一个libz.dl.al
),但我还没有弄清楚为什么在这个系统上它不同。对我来说很重要,因为我正在安装一个Python包lxml,我无法修改它。 - jpaughlib
,因此如果您想链接到libz.a
,则-lz
是正确的选项。如果其他软件尝试使用-lzlib
(而不是运行pkg-config zlib --libs
来确定参数),并且您无法配置该软件以使用正确的参数,则我想您可以将libz.a
复制到libzlib.a
中作为一个 hacky 解决方案。 - David Grayson