【发布时间】:2012-09-20 05:03:17
【问题描述】:
我学会了“Program Library HOWTO”。它提到使用soname 来管理版本,如下所示。
gcc -shared -fPIC -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0.0 foo.c
ln -s libfoo.so.1.0.0 libfoo.so.1
ln -s libfoo.so.1 libfoo.so
如果没有设置soname,我会得到信息。它将等于 libfoo.so.1.0.0 ,请参阅here 的答案。
而且我发现它也可以在没有 soname 的情况下工作,比如关注
gcc -shared -fPIC -o libfoo.so.1.0.0 foo.c
ln -s libfoo.so.1.0.0 libfoo.so.1
ln -s libfoo.so.1 libfoo.so
所以我认为唯一有用的一点是soname 选项可以在您使用readelf -d libfoo.so 命令检查共享库时告诉您共享库的版本。
它还能做什么?
【问题讨论】:
标签: linux gcc shared-libraries