GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Libusb undefinierter Verweis auf

Sie müssen das Linker-Flag der Bibliothek für die Kompilierung im Linker setzen. Eine vollständige Liste erhalten Sie in der Konsole, indem Sie

ausführen
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, also tun Sie es

pkg-config --libs libusb

dort sollte die Ausgabe

erscheinen
-lusb

oder

-lusb-1.0

Dadurch erhalten Sie das Flag, das Sie an den Linker übergeben müssen. z. B.

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

Dann editierst du die Konfiguration des Projekts und suchst nach den Linkerflags, dafür sollte irgendwo in den Buildoptions ein Textfeld sein. Ich bin mir nicht ganz sicher, wo ich es finden kann, aber 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 Sie sollten in Ordnung sein.

BEARBEITEN

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


Was ist Ihre Linker-Befehlszeile? Sie benötigen -lusb im Verknüpfungsbefehl; Nur den Header einzuschließen wird nicht funktionieren.


Ich stand vor dem gleichen Problem. Aber ich konnte es lösen, indem ich '-lusb-1.0' zum Linker hinzufügte.

zB:g++ myfile.cpp -lusb-1.0


Linux
  1. MySQL:Schnellreferenz für grundlegende Befehle

  2. Bedeutung des Flags -pthread beim Kompilieren

  3. crt1.o:In Funktion `_start':- undefinierter Verweis auf `main' unter Linux

  4. Verwendung von sqrtf() in C:undefinierter Verweis auf `sqrtf'

  5. Undefinierter Verweis auf Symbolfehler „_ZN5boost6system15system_categoryEv“.

Testen Sie GNOME-Apps auf dieser Linux-Referenzplattform

10 praktische systemd-Befehle:Eine Referenz

MPI-Kompilierungsfehler:undefinierter Verweis auf „sqrt“ – Gelöst

Der dpkg-Befehl in Linux – Eine Referenz für Anfänger

numpy undefiniertes Symbol:PyFPE_jbuf

copy_to_user undefiniert in Linux-Kernel-Version 4.12.8