相关疑难解决方法(0)

用于构建共享库的'soname'选项是什么?

我学会了" 程序库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
Run Code Online (Sandbox Code Playgroud)

我得到的信息是,如果soname没有设置.它将等于libfoo.so.1.0.0,请参阅此处的答案.

我发现它也可以在没有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
Run Code Online (Sandbox Code Playgroud)

所以我认为唯一有用的一点是,soname当您使用readelf -d libfoo.so命令检查时,该选项可以告诉您共享库的版本.

它还能做什么?

linux gcc shared-libraries

48
推荐指数
3
解决办法
4万
查看次数

标签 统计

gcc ×1

linux ×1

shared-libraries ×1