我需要通过将它链接到其他开源库(一些可用作.so和一些可用作.a)来创建一个.so。
通过将.so和.a的组合链接,是否有可能创建一个.so?
例如,假设我正在尝试通过将其与liba.so
和libb.a
链接来创建libfinal.so
。
gcc -shared -Wl,-soname,libfinal.so -Wl,--no-undefined -la -lb
上述命令试图找到不可用的libb.so。有解决方案吗?
更新:问题似乎是libb.a没有使用-fPIC选项编译。 错误--->在制作共享对象时,无法使用关于“libipt_DNAT_init”的重定位R_MIPS_26;请重新编译并加上-fPIC。
gcc -shared -Wl,-soname,libfinal.so -Wl,--no-undefined -la b
- Quentingcc -shared -Wl,-soname,libfinal.so -Wl,--no-undefined -la libb.a
应该可以工作,正如Shubhangi在下面的回答中所述。 - Quentin