Libusb undefinierter Verweis auf

Reshi:

Ich versuche, die libusb-API auf meinem Betriebssystem einzurichten. Ich habe libusb api auf libusb.org heruntergeladen. Ich habe das Standardinstallationsverfahren befolgt:

cd into directory
./configure
make
make check //without errors
make install

Dann habe ich Eclipse C / C ++ gestartet und Code aus dem Tutorial im Internet kopiert. Aber als ich versuchte es zu bauen, bekam ich folgende Ausgabe:

main.cpp:(.text+0x19): undefined reference to `libusb_init'
main.cpp:(.text+0x76): undefined reference to `libusb_set_debug'
main.cpp:(.text+0x8a): undefined reference to `libusb_get_device_list'
main.cpp:(.text+0x136): undefined reference to `libusb_free_device_list'
main.cpp:(.text+0x142): undefined reference to `libusb_exit'
/tmp/ccOWJGwe.o: In function `printdev(libusb_device*)':
main.cpp:(.text+0x162): undefined reference to `libusb_get_device_descriptor'
main.cpp:(.text+0x28a): undefined reference to `libusb_get_config_descriptor'
main.cpp:(.text+0x4d4): undefined reference to `libusb_free_config_descriptor'
collect2: ld returned 1 exit status

Ich habe libusb.so in / lib und auch usb.h in / usr / local / include und den Link für .so und libusb.a in / usr / local / lib.

Auch das #include im Code ist korrekt.

Ich weiß, dass das Problem im Linker liegt, aber ich kann es irgendwie nicht zum Laufen bringen :)

Ich verwende das Betriebssystem Fedora 15 und den Versionscompiler gcc 4.6.0 20110603 (Red Hat 4.6.0-10).

Was kann ich also tun, um diese undefinierten Referenzen aufzulösen? Vielen Dank für die Hilfe :)

Xtroce:

Wenn Sie das Bibliothekslinker-Flag für die Kompilierung im Linker setzen müssen, können Sie durch Ausführen eine vollständige Liste in der Konsole abrufen

pkg-config --list-all

Dies sind die Bibliotheken, die Sie auf Ihrem System installiert haben und die Sie mit denen verknüpfen müssen, die Sie verwenden möchten. In Ihrem Beispiel ist es also libusb

pkg-config --libs libusb

da sollte die Ausgabe sein

-lusb

oder

-lusb-1.0

Dies gibt Ihnen die Flagge, die Sie an den Linker übergeben müssen. z.B

g++ myfile.cpp -lusb[-1.0]

Dann bearbeiten Sie die Konfiguration des Projekts und suchen nach den Linkerflags. Dafür sollte irgendwo in den Build-Optionen ein Textfeld dafür vorhanden sein. Ich bin mir nicht ganz sicher, wo ich es finden kann, aber es zu googeln schlug vor:

Project -> Properties -> C/C++
Build -> Miscellaneous -> flags

Nachdem Sie es gefunden haben, fügen Sie einfach das Linker-Flag in das Textfeld ein und es sollte Ihnen gut gehen.

BEARBEITEN

Da meine Antwort die akzeptierte ist, habe ich auch die andere Flagge hinzugefügt, die für viele Leute zu funktionieren scheint.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv