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.
Gast
#767524
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 | |
Wie sieht denn Dein Compileraufruf aus? Gruß, Bernhard
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.