Library fest dazulinken (nicht dynamisch)



  • Hallo

    mein Programm besteht aus main.c tasf.c tasf.h.
    Wenn ich nun das compilierte Programm laufen lassen will muss natürlich die tasf.o vorhanden sein. Das ist ja eine meiner verwendeten Librarys. Da ja dynamisch gelinkt.
    Ist so weit richtig, oder ?

    Wie kann ich nun die tasf.c(h) so mit in mein Programm einbinden das ich zum Schluss nur eine ausführbare Datei erhalte. Alle anderen Bibliotheken sollen dynamisch bleiben.

    Danke
    worst_case



  • Je nachdem wie du das gemacht hast ist das richtig, was du geschrieben hast, aber ich bezweifle das.

    Wenn du gcc -o prog main.c tasf.c machst erhälst du ein Programm, in dem tasf.o statisch gelinkt ist.

    Auch wenn du die Schritte aufteilst:

    gcc -c main.c
    gcc -c tasf.c
    gcc -o prog main.o tasf.o

    Dann ist tasf.o statisch im Programm (Eigentlich nur die benötigten Funktionen).

    Falls du das grundsätzlich anders gemacht hast, musst du es schreiben, damit man es bewerten kann. Alles wichtige zu Bibliotheken findest du unter:

    http://www.tldp.org/HOWTO/Program-Library-HOWTO/index.html



  • die fast.o brauchst du nur zum linken, einmal gelinkt, ist schon drin.



  • dynmisch werden nur +.so gelinkt.

    SO = Shared Object


Anmelden zum Antworten