libxm2使用未定义的引用gzdopen lzma_code lzma_properties_decode lzma_end

第一种:

/usr/bin/ld: ./lib/libxml2.a(xmlIO.o): undefined reference to symbol 'gzdopen'
/usr/lib64/libz.so.1: error adding symbols: DSO missing from command line
collect2: 错误:ld 返回 1

解决方案:
在编译脚本上增加

-lz

一般系统都会带着libzip.so,如果没有这个库就安装一下。

第二种:

./lib/libxml2.a(xzlib.o):在函数‘xz_decomp’中:
/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:581:对‘lzma_code’未定义的引用
./lib/libxml2.a(xzlib.o):在函数‘is_format_lzma’中:
/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:312:对‘lzma_properties_decode’未定义的引用
./lib/libxml2.a(xzlib.o):在函数‘xz_head’中:
/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:411:对‘lzma_auto_decoder’未定义的引用
./lib/libxml2.a(xzlib.o):在函数‘__libxml2_xzclose’中:
/home/shenxuebing/桌面/xml/libxml2-2.9.9/xzlib.c:799:对‘lzma_end’未定义的引用
collect2: 错误:ld 返回 1

解决方案:
在编译脚本上增加

-llzma

一般系统都会带着liblzma.so,如果没有这个库就安装一下。

yun install lzma-dev

你可能感兴趣的:(C/C++,linux,libxml,lzma_code,未定义的引用)