Bibliothek linken.
-
Hallo,
Da man ja Gegen Biblitheken wie mysql++ oder id3lib linken muss wird das meist auch in deren Docs erwähnt. Was aber wenn das nicht der Fall ist? Wie lässt sich herausfinde wie gegen die lib gelinkt wird?
Explizites Beispiel wäre die Taglib (http://developer.kde.org/~wheeler/taglib/api/)
-taglib mag nicht funktionieren.
-
Das geht immer auf die selbe Weise: mit -l.
Was danach kommt, ist nichts magisches, sondern einfach der Dateiname der Bibliothek (wobei lib und .a weggelassen werden dürfen).
Zuerst musst du sie dir kompilieren... welchen Dateinamen sie hat, siehst du ja dann.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke. Wie kommt es dann aber dass ich gegen die id3lib mit -lid3 linke, aber nirgends eine lid3.a zu finden ist?
Der name der Bibliothek wäre taglib, wenn ich jedoch unter Codeblocks bei den Linkeroptionen -taglib angebe, funktioniert das leider nicht.
-
Das l ist die Option und gehört nicht zum Namen! [c]-lname[/c] wobei name ist der Teil aus
libname.so/a/dylib
(ohne das lib oder die Endung!). Wenn die Bibliothek in einem anderen Verzeichnis ist, dann musst du mit [c]-LPfad[/c] den Pfad setzen (und wenn es sich um eine dynamische Lib handelt entweder ld.conf anpassen oder die Umgebungsvariable LD_LIBRARY_PATH setzen)siehe http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Link-Options.html#Link-Options