Anzeige:
Ergebnis 1 bis 4 von 4

Thema: (Linux, C) dynamische Bibliothek erstellen

  1. #1
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762

    (Linux, C) dynamische Bibliothek erstellen

    Wie kann ich unter Linux eine dynamische Bibliothek (*.so) für C-Programme erstellen?
    Bei welchem Programm muss da ich welche Optionen mitgeben?
    I haven't lost my mind - It's somewhere on a backup-disc

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Ganz einfach...

    gcc file1.c file2.c -fpic -shared -o lib.so (fpic ist wichtig!).

    Sollte so klappen, beim gcj klappt es jedenfalls so..

    Mfg
    Geändert von Lin728 (19-08-2017 um 16:19 Uhr)

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    -fpic beim Kompikieren aller Object Files, -shared beim Linken in die Lib.

    Eventuell braucht man noch -fPIC

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    HackThor
    Gast
    Hi!

    Der "Herold" sagt dazu:

    Code:
    gcc -shared -Wl,-soname,<libname.so.x> -o <libname.so.x.y.z> <Objektdateien> <Bibliotheken>
    Als Beispiel steht da:
    Code:
    gcc -shared -Wl,-soname,libtoll.so.1 -o libtoll.so.1.2.5 toll.o symtab.o -lc
    Wobei:
    - "libtoll.so.1" der (richtige) Bibliotheken-Name mit Hauptversionsnummer ist (das "-Wl" heißt daß alles kommagetrennte dahinter an den "ld" weitergeleitet wird - das "-soname ..." ist also für den Linker)
    - "libtoll.so.1.2.5" der Name der kompilierten Datei ist
    - "toll.o" und "symtab.o" 2 Objektdateien sind aus der die Bibliothek erstellt werden soll
    - "-lc" die Anweisung ist das ganze gegen die C-Bibliothek zu linken

    Außerdem muß "-fPIC" angegeben werden um den entsprechenden Quellcode zu kompilieren (anda_skoa - you're right )

    Ich gehe mal davon aus daß es stimmt - der Rest in dem Buch "Linux UNIX-Systemprogrammierung" funktioniert ja auch

    ciao

    Michael

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •