Ich versuche, libusb API auf meinem Betriebssystem einzurichten. Ich habe libusb api auf libusb.org heruntergeladen. Ich folgte dem Standard-Installationsverfahren:
%Vor%Dann habe ich Eclipse C / C ++ gestartet und Code aus dem Tutorial aus dem Internet kopiert. Aber beim Versuch, es zu bauen, bekam ich folgende Ausgabe:
%Vor%Ich habe libusb.so in / lib und auch ich habe usb.h in / usr / local / include und den Link für die .so und libusb.a in / usr / local / lib.
Auch der #include innerhalb des Codes ist korrekt.
Ich weiß, dass das Problem im Linker ist, aber ich kann es irgendwie nicht funktionieren lassen:)
Ich benutze Fedora 15 Betriebssystem und gcc 4.6.0 20110603 (Red Hat 4.6.0-10) Version Compiler.
Was kann ich tun, um diese undefinierten Referenzen aufzulösen? Vielen Dank für die Hilfe:)
Sie müssen das Linker-Flag für die Kompilation im Linker setzen, Sie können eine vollständige Liste in der Konsole abrufen, indem Sie
ausführen %Vor%Dies sind die Bibliotheken, die Sie auf Ihrem System installiert haben und die Sie mit den zu verwendenden Bibliotheken verknüpfen müssen. In deinem Beispiel ist es libusb, also tust du
%Vor%sollte die Ausgabe sein
%Vor%Dies gibt Ihnen die Flagge, die Sie an den Linker übergeben müssen.
Dann editierst du die Konfiguration des Projekts und suchst nach den Linkerflags, da sollte irgendwo in den Buildoptionen ein Textfeld stehen. ich bin nicht ganz sicher, wo ich es finden kann, aber googeln dafür vorgeschlagen:
%Vor%Nachdem Sie es gefunden haben, fügen Sie einfach das Linker-Flag in das Textfeld ein und Sie sollten in Ordnung sein.
Ich hatte das gleiche Problem. Aber ich konnte es lösen, indem ich dem Linker '-lusb-1.0' hinzufügte.
z. B.: g ++ myfile.cpp -lusb-1.0
Was ist Ihre Linker-Befehlszeile? Sie müssen -lusb
im Verknüpfungsbefehl haben; nur die Kopfzeile enthalten wird nicht funktionieren.
Ich benutze Eclipse C / C ++ nicht, aber ich bin ziemlich sicher, dass der Grund derselbe ist, dem ich vor einiger Zeit begegnet bin, als ich ein C-Projekt in Netbeans eingerichtet habe.
Es reicht nicht aus, dass #include
in Ihrem Code und die Bibliothek am richtigen Ort ist - Sie müssen Eclipse auch mitteilen, wo Sie nach ihnen suchen und wie Sie sie verwenden. Dieses turorial zeigt Ihnen, wie Sie es in Eclipse einrichten.