libusb unter SuSE-Linux, Problem beim Linken

#766149
Lesenswert?

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
#766162
Lesenswert?

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
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren