Как создать общий объектный файл из статической библиотеки - PullRequest
11 голосов
/ 07 июня 2011

Как создать общий объектный файл из статической библиотеки?Я использую Cygwin.

Правильный ли следующий синтаксис?

gcc -shared -o libexample.so libexample.a

Ответы [ 2 ]

12 голосов
/ 07 июня 2011
gcc -shared -o libexample.so -Wl,--whole-archive libexample.a

Обратите внимание, что часто вы хотите, чтобы объекты, объединенные в вашем .so, были скомпилированы как PIC, что вам не часто требуется для статической библиотеки.

4 голосов
/ 07 июня 2011

Может не сработать, но вы всегда можете попробовать:

ar -x libexample.a
gcc -shared *.o -o libexample.so

Если он жалуется на -fPIC, то, вероятно, он не будет работать.

...