gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:17 25 4
gpt4 key购买 nike

我需要通过将它链接到其他开源库来创建一个 .so(一些以 .so 的形式提供,一些以 .a 的形式提供)

是否可以通过将它与 .so 和 .a 的组合链接来创建 .so

例如假设我正在尝试通过将其与 liba.solibb.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 -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) 只不过是包含其他文件集合的单个文件

关于通过链接到其他 .so 和 .a 文件的组合来创建 .so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28478567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com