如何从对象或静态库创建共享库

时间:2013-04-02 12:17:40

标签: c linux makefile static-libraries

我想获得动态链接的共享库。

我有目标文件和静态文件,但没有共享的lib文件。

我能以某种方式转换它们来创建共享库吗?

1 个答案:

答案 0 :(得分:1)

请参阅http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

基本上,您可以像这样创建一个共享库:

gcc -shared -Wl,-soname,libfoo.so.1 -o libfoo.so.1.0.1 file1.o file2.o file3.o ...

生成的文件将命名为libfoo.so.1.0.1。但是,您必须确保*.o文件是使用-fPIC标志创建的,用于与位置无关的代码,否则它将无法正常工作。