共有ライブラリを構築したばかりですが、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) と同じバージョンではありません
それで、私の質問は、なぜ のnm
出力@@zlib
が1.2.2
ではなくなの1.2.8
ですか? @@ZLIB_1.2.2
nm出力の意味は何ですか?
ありがとう