libusb verwenden
-
Guten Tag zusammen,
ich habe mich vor ein paar Stunden angefangen mit der libusb Libary zu beschäftigen. Allerdings traten schon am Anfang die ersten und größten Probleme auf.
Habe das ganze per "apt-get install libusb-dev" installiert und mir von hier:
http://libusb.org/browser/libusb/examples?rev=2aa8984e59cf0f492e7fbebb8924f54f6160cc5emal die Beispieldatei "lsusb.c" gezogen um zu schauen ob auch alles funktioniert. Aber nichts. Als erstes:
fatal error: libusb.h: Datei oder Verzeichnis nicht gefunden
Ok soweit so gut. Habe mir mal "/usr/include" angeschaut ob auch alles ordnungsgemäß installiert wurde. Es wurde auch ein Ordner "libusb-1.0" erstellt worden mit einer "libusb.h" Datei darin.
Da ich nun nicht genau wusste in wiefern der gcc Unterverzeichnisse durchsucht, habe ich das File einfach mal in einen Ordner darunter (also "/usr/include") kopiert. Nun findet er das File auch aber nun sagt er mir, dass er keinen definierten Verweis auf alle libusb_* Funktionen findet:/tmp/cc0Qv23D.o: In Funktion
print_devs': lsusb.c:(.text+0x25): Nicht definierter Verweis auf
libusb_get_device_descriptor'
lsusb.c:(.text+0x5a): Nicht definierter Verweis auflibusb\_get\_device_address' lsusb.c:(.text+0x69): Nicht definierter Verweis auf
libusb_get_bus_number'
/tmp/cc0Qv23D.o: In Funktionmain': lsusb.c:(.text+0xd3): Nicht definierter Verweis auf
libusb_init'
lsusb.c:(.text+0xf2): Nicht definierter Verweis auflibusb\_get\_device_list' lsusb.c:(.text+0x120): Nicht definierter Verweis auf
libusb_free_device_list'
lsusb.c:(.text+0x12a): Nicht definierter Verweis auf `libusb_exit'
collect2: error: ld returned 1 exit statusBeim weiteren Googlen habe ich dann gefunden das man anstatt libusb.h usb.h verwenden soll. Allerdings findet er dann erst Recht die Funktionen nicht (Was ja klar ist.):
lsusb.c:25:24: error: unknown type name ‘libusb_device’
static void print_devs(libusb_device **devs)
^
lsusb.c: In function ‘main’:
lsusb.c:46:2: error: unknown type name ‘libusb_device’
libusb_device **devs;
^Habe auch keine Doku zu diesem Headerfile gefunden damit man es dementsprechend umschreiben könnte.
Benutze als System "Ubuntu 14" und den "gcc 4.8".
Hat jemand eine Idee bzw. Lösungsansatz wie ich das ganze ans laufen bekomme?
-
Arg! Kopiere nicht wild in den Systemverzeichnissen herum! Es gibt Gründe, warum man dafür root Rechte braucht!
Zum kompilieren kannst du `pkg-config --cflags libusb` und zum linken `pkg-config --libs libusb` deinem Compiler als Argumente übergeben.
-
Biolunar schrieb:
Zum kompilieren kannst du `pkg-config --cflags libusb` und zum linken `pkg-config --libs libusb` deinem Compiler als Argumente übergeben.
Funktioniert leider auch nicht. Er bricht wieder mit dem Fehler "Nicht definierter Verweis auf *" ab.
Wenn man die beiden so ausführt kommt bei "--cflags libusb" ein leerer String zurück und bei "--cflags libusb" nur ein "-lusb".
-
Hier ist ein C Sprachforum und kein Compiler- und IDE-Forum:
https://www.c-plusplus.net/forum/f3
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) 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.