Biblioteki współdzielone .so

Kdevelop pozwala dość łatwo tworzyć biblioteki wykorzystujące libtool, ale czasami potrzebuje się czegość prostszego, na przykład zwykłej biblioteki współdzielonej .so. Uzyskanie jej bez konieczności modyfikowania plików Makefile jest jak najbardziej możliwe. Mówi o tym nawet FAQ Kdevelopa. Podana tam metoda działa, problemem może być tylko to, gdzie się która opcja znajduje.

Tworzenie biblioteki .so w KDevelopie (moja wersja to 3.2.0) odbywa się w następujący sposób:

  1. Otwórz Menadżera automake — w przypadku standardowych ustawień jest to zakładka po prawej stronie.
  2. Utwórz nowy podprojekt dla soich bibliotek współdzielonych. Może się nazywać np. plugins, jeśli biblioteki będą wtyczkami.
  3. W tym nowym podprojekcie utwórz nowy cel z następującymi parametrami:
    Główny: Program
    Przedrostek: noinst
    Nazwa pliku: tu wpisz nazwę swojej biblioteki np. libmoja_biblioteka.so
    Niżej, w opcjach linkera (pole Inne:) wpisz -shared
  4. Kliknij prawym przyciskiem myszy na podprojekcie, wybierz Opcje i na pierwszej karcie (Kompilator) wpisz do opcji odpowiedniego kompilatora (CFLAGS lub CXXFLAGS) -fPIC.
  5. Ja jeszcze, dla pewności, zmieniłam opcje linkera dla nowego celu. Są one dostępne po kliknięciu prawym przyciskiem celu-biblioteki (dolne okno Menadżera automake) i wybraniu Opcje z menu, potem karty Opcje. W pole Inne wpisałam -version-info 0:0:1 -shared (0:0:1 to numer wersji).