通过链接到其他.so和.a文件的组合来创建.so

时间:2015-02-12 13:22:45

标签: c linux gcc shared-libraries

我需要创建一个 .so ,方法是将其链接到其他开源库(一些可用 .so ,一些用作 .a

是否可以通过将其与.so和.a

的组合相关联来创建 .so

E.g。假设我正在尝试通过将其与libfinal.soliba.so

相关联来创建libb.a
gcc -shared -Wl,-soname,libfinal.so -Wl,--no-undefined -la -lb

上面的命令试图找到不可用的 libb.so 。任何解决方案?

UPDATE :问题似乎是libb.a是使用out -fPIC选项编译的。 错误 - >在制作共享对象时,不能使用对“libipt_DNAT_init”的重定位R_MIPS_26;用-fPIC重新编译

1 个答案:

答案 0 :(得分:0)


以下是链接目标文件,档案和库的命令语法。

gcc -o <output file> -l<library> objectfiles|archives

例如。链接libc.so.6,Ex.o和binary1.a以生成MyEx.so

gcc -o MyEx.so -lc Ex.o binary1.a

注意:存档(.a)只是一个包含其他文件集合的文件