www.mikrocontroller.net

Forum: PC-Programmierung libusb unter SuSE-Linux, Problem beim Linken


Autor: Nils B. (nordlicht_nils)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nils B. (nordlicht_nils)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
gcc .... -lusb

Wie sieht denn Dein Compileraufruf aus?

Gruß,
Bernhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.