【发布时间】:2013-04-05 18:18:25
【问题描述】:
我首先编译了两个目标文件(.o):
- 字符串-memcpy.o
- machine-memcpy.o
它们都定义了一个函数memcpy()。现在,我想创建一个共享库(.so):
gcc -shared -o test.so string-memcpy.o machine-memcpy.o
由于“memcpy 的多个定义”而失败。有没有办法做到这一点 ?谢谢!
事实上,我在尝试为 libc (newlib-1.16) 编译共享库时遇到了这个问题。我只能在 Internet 上找到如何从中构建静态库。因此,任何有关如何实现这一目标的提示都值得赞赏。
【问题讨论】:
-
我注意到我可以毫无问题地使用“ar rc ../libc.a *.o”创建静态库。那么区别是什么呢?构建 glibc 共享库是否存在类似问题? (我不熟悉 glibc)。谢谢!
标签: shared-libraries libc newlib