способ преобразования статической библиотеки в динамически связанную библиотеку - PullRequest
4 голосов
/ 13 октября 2010

Если все, что у меня есть в библиотеке - это * .a статическая библиотека.Есть ли способ, которым я могу преобразовать это в * .so динамически связанную библиотеку?Может быть, с помощью ld?

Я использую SUSE Linux.Платформа ELF.

1 Ответ

7 голосов
/ 13 октября 2010

Эта команда попытается сделать то, что вы хотите:

gcc -shared -Wl,--whole-archive library.a -o library.so

Но если ваша библиотека не была скомпилирована с -fpic / -fPIC, что, вероятно, не было, она не будетработать (может показаться работать , но вы не получаете никаких преимуществ от общих библиотек).

...