我想获得动态链接的共享库。
我有目标文件和静态文件,但没有共享的lib文件。
我能以某种方式转换它们来创建共享库吗?
答案 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
标志创建的,用于与位置无关的代码,否则它将无法正常工作。