Verknüpfen einer statischen Bibliothek beim Kompilieren eines C-Programms

Verknüpfen einer statischen Bibliothek beim Kompilieren eines C-Programms

Ich verknüpfe *.a filemit *.c file, daher habe ich den folgenden Befehl verwendet:

gcc abc.c -l ad.a

(hier abcist die C-Quelldatei und ad ist die statische Bibliotheksdatei)

dann kommt nach der Ausführung folgende Fehlermeldung: Die Bibliothek lad.awurde nicht gefunden.

Antwort1

Um eine Verknüpfung mit einer Bibliothek mit einem Dateinamen herzustellen, sollten libad.adie Verknüpfungsoptionen wie folgt gcclauten:

gcc abc.c -lad 

Sie müssen also weder die Erweiterung noch den Anfangsteil libdes Bibliotheksdateinamens angeben. Die Ausgabedatei lautet a.out. Sie können zusätzliche Suchpfade für die Bibliothek angeben mit -L:

gcc abc.c -L path_to_directory -lad 

verwandte Informationen