【发布时间】:2016-01-26 16:18:33
【问题描述】:
我刚刚建立了一个共享库,但是当我使用 nm 命令查看依赖项时,输出如下
$ nm -a libgio-2.0.so.0.2701.0 | grep ZLIB
U deflateSetHeader@@ZLIB_1.2.2
U inflateGetHeader@@ZLIB_1.2.2
不知道@@ZLIB_1.2.2的意思,其实构建libgio的命令是
gcc -o libgio-2.0.so.0.2701.0 libfoo.so libbar.so libz.so.1.2.8
其中libz.so.1.2.8是我自己从源码构建的,放到libgio-2.0.so.0.2701.0的同一个目录下。和系统的libz(/usr/lib/libz.so)不是同一个版本
那么,我的问题是为什么@@zlib 的nm 输出是1.2.2,而不是1.2.8?在 nm 输出中@@ZLIB_1.2.2 的含义是什么?
谢谢
【问题讨论】:
标签: linux gcc shared-libraries nm