我需要创建一个 .so ,方法是将其链接到其他开源库(一些可用 .so ,一些用作 .a )
是否可以通过将其与.so和.a
的组合相关联来创建 .so E.g。假设我正在尝试通过将其与libfinal.so
,liba.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重新编译
答案 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)只是一个包含其他文件集合的文件