问题描述
- 要使用gzopen()、gzwrite()、gzclose()应该包含什么头文件?
-
如题,
我在程序中使用了以上3个函数,但是不知道应该包含什么头文件,我包含了zlib.h编译的时候提示:
undefined reference to 'gzopen()';
undefined reference to 'gzwrite()';
undefined reference to 'gzclose()';
是我用的库不对还是怎么回事呢?
解决方案
需要安装zlib压缩库
解决方案二:
# ./configure --host=arm-linux --build=i386-linux --target=arm --prefix=/usr/local/arm/libxml_arm CC=/usr/local/arm/4.1.1/bin/arm-9tdmi-linux-gnu-gcc --without-zlib
注:--without-zlib选项很重要,如果不加此选项,make的时候会提示如下错误:
Java代码 收藏代码
./.libs/libxml2.so: undefined reference to `gzopen'
./.libs/libxml2.so: undefined reference to `gzclose'
./.libs/libxml2.so: undefined reference to `deflate'
./.libs/libxml2.so: undefined reference to `gzrewind'
./.libs/libxml2.so: undefined reference to `gzwrite'
./.libs/libxml2.so: undefined reference to `crc32'
./.libs/libxml2.so: undefined reference to `deflateEnd'
./.libs/libxml2.so: undefined reference to `gzdopen'
./.libs/libxml2.so: undefined reference to `deflateInit2_'
./.libs/libxml2.so: undefined reference to `gzread'
collect2: ld returned 1 exit status
解决方案三:
zlib对应目录下有没有库文件。so等。
然后就是你的代码调用的地方是不是设置了库路径。
解决方案四:
man一下出的来么?
时间: 2024-10-29 08:44:03