Problem beim Einbinden der lib-Datei
-
Hallo,
ich habe ein kleines Programm geschrieben, dass ich nun in ein bestehendes integrieren möchte.
In dem Programm greife ich auf mehrere Klassen zu, die ich mit #include "name.h" einbinde. Soweit funktioniert auch alles einwandfrei.
Aber jetzt habe ich eine Datei "testdb.cpp" mit der Headerdatei "testdb.h", zusätzlich existiert hier aber noch eine Datei "testlib.h". Beide Headerdateien sind in der testdb.cpp eingebunden.
Beim Kompilieren kommen jetzt jedoch zig solcher Fehlermeldungen:
testdb.cpp:(.text+0x710b): undefined reference to `test_irgendwas'
Alle diese 'test_irgendwas' befinden sich in testlib.h.Wie binde ich die testlib.h denn richtig ein?
Vielen Dank
-
Eigentlich solltest du auch noch eine "testlib.lib" Datei haben - und die mußt du dem Linker noch mitgeben (wie man das macht, hängt von deinem System ab, meist kannst du irgendwo den Parameter "-l testlib.lib" eintragen).
-
Ja, genauso mit dem "-l testlib.lib" kenn ich das auch.
Aber ich habe keine solche Datei. Es gibt wirklich nur die 3 genannten Dateien.Gibt es sonst noch eine Möglichkeit, die testlib.h irgendwie einzubinden?
-
Dieser Thread wurde von Moderator/in HumeSikkins 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.
-
nein. Entweder du hast die testlib.lib bzw libtestlib.a für den gcc/mingw oder du hast noch die testlib.cpp. dann kannst du die direkt kompilieren und dazu linken, dann hast du aber nicht die lib eingebunden sondern nur zwei dateien zusammen gelinkt. (naja, libs sind auch nichts anderes eigentlich).
Du musst deine testlib.cpp (ich denk mal die hast du, denn niemand nennt seine lib testlib.cpp um sie dann so weiterzugeben
) kompilieren und zu einer lib-datei linken. Dise datei dann zum linker des hauptprogramms geben.