Hallo liebe Leut, ich habe vor, über USB zwischen PC und µC Daten auszutauschen. Daher habe ich die libusb-Pakete (v0.1.12) über Yast installiert und freudig festgestellt, dass die usb.h sowie die libusb-Bibliotheken in den jeweiligen Ordnern erscheinen. Zum Test wollte ich das Testprogramm "testlibusb.c", das im Archiv auf der libusb-Homepage eingebunden ist, in KDevelop kompilieren und ausführen. Allerdings bekomme ich beim Erstellen des Projekts folgende Fehlermeldungen: testlibusbc.o: In function `main': /home/nils/at91/Projects/testlibusb/testlibusbc/src/testlibusbc.c:136: undefined reference to `usb_init' /home/nils/at91/Projects/testlibusb/testlibusbc/src/testlibusbc.c:138: undefined reference to `usb_find_busses' /home/nils/at91/Projects/testlibusb/testlibusbc/src/testlibusbc.c:139: undefined reference to `usb_find_devices' /home/nils/at91/Projects/testlibusb/testlibusbc/src/testlibusbc.c:141: undefined reference to `usb_busses' collect2: ld returned 1 exit status Die "usb.h" kennt er und findet er auch. Warum kennt er dann die o.g. Funktionen nicht? Ist das ein Konfigurationsproblem von KDevelop (make und Konsorten) oder paßt etwas anderes nicht? Wer weiß hier Rat? Vielen Dank! Nils
Kurze Ergänzung: Ein 'make testlibusb' in der Kommandozeile mit dem makefile aus dem libusb-Beispiel-Ordner bringt die gleichen Fehlermeldungen. Auch die anderen Beisieldateien (u.a. auch cpp mit anderen libs) geben die Fehlermeldung undefined reference. Wo muß ich noch was einstellen, welcher Pfad, welche Einstellung fehlt? Danke.
Hi, die Fehlermeldung kommt vom Linker. Der Compiler findet die usb.h, aber der Lionker findet die funktionene dann nicht in einer library. Du mußt beim Linken die libusb mit angeben, z.B. mit
1 | gcc .... -lusb |
Wie sieht denn Dein Compileraufruf aus? Gruß, Bernhard
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.