[devel] Как правильно использовать shared objects gcc

REAL root на mmedia2.kemsu.ru
Ср Дек 15 11:16:03 UTC 2010


15.12.2010 16:58, Rinat Bikov пишет:
> Имеется ввиду, чтобы при запуске использовалась библиотека
> libname.so.version, а не искалась libname.so?
> Вот так у меня компилируется библиотека:
Вместо вот этого:
> $(CC) -shared -o lib$(LIBNAME).so functions.o StringBuilder.o LibLoader.o -ldl

Используйте вот это:
$(CC) -shared -o lib$(LIBNAME).so.version functions.o StringBuilder.o 
LibLoader.o -ldl -Wl,-soname,lib$(LIBNAME).so.version
ln -s lib$(LIBNAME).so.version lib$(LIBNAME).so

>
> Вот такое работает, если есть символьная ссылка /usr/lib/libname.so ->
> libname.so.version:
> $(CC) $(AC)  main.o -ldl -o $(EXECNAME) -L. -l$(LIBNAME) -Wl,-rpath,/usr/lib
>
> А как компилировать, чтобы по -lname ставилось в соответствие
> /usr/lib/libname.so.version?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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