[Comm] Re: shared and static libs

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Апр 17 20:23:37 MSD 2003


On Thu, 17 Apr 2003 21:12:50 +0600
vic ismakaev <viclists на mail.esoo.ru> wrote:

> Допустим есть две либы в двух ипостасях - статические(libname1.a, libname2.a) 
> и динамическая(libname1.so,libname2.so).
> Можно ли ,и если можно -то как сказать gcc при сборке какие либы использовать 
> статические или динамические.
> Про динамические вроде ясно
> gcc -rdynamic -lname1 -lname2 и он подхватит сошки.

Кстати, в современных системах для сборки с динамическими библиотеками
вообще никаких ключей указывать не нужно. -Wl,--export-dynamic -
отдельная ситуация. В общем случае для переносимости лучше
использовать libtool.

> А если статические?

Для отдельных библиотек (сохранив динамические libc и т.п.) - просто
указать /path/libname1.a. Всё статикой - -static, но это лучше не
делать (есть проблемы с загрузкой libnss*.so.* из glibc); разве что
для специфических утилит, где используется что-то вроде dietlibc
вместо glibc.



Подробная информация о списке рассылки community