Stlink: [Kompatibilität] undefinierter Verweis auf `libusb_set_option'

Erstellt am 25. März 2020  ·  12Kommentare  ·  Quelle: stlink-org/stlink

Hallo zusammen,

Ich werde versuchen, das Projekt unter Windows 10 mit MinGW-w64 ohne Erfolg zu kompilieren.
Der Fehler ist:
C:/stlink/src/sg.c:972: undefined reference to 'libusb_set_option'

Meine Umgebung ist:

  • Windows 10
  • texane/stlink 1.6.0 => Diese Version erfordert die libusb-1.0.22.7z (manuell heruntergeladen)
  • MinGW-w64 i686-8.1.0-posix-dwarf-rt_v6-rev0

Kannst du mir helfen?

Vollständiges Protokoll der Kompilierung: log.txt

Vielen Dank im Voraus.

Ju

bucompilation bufixed dependenclibusb errocompilation generadocumention owindows staturesolved

Alle 12 Kommentare

Bitte versuchen Sie es stattdessen mit dem develop Zweig. Ich denke, es gab einige Fixes im Zusammenhang mit libusb seit Release v1.6.0.

Der erwähnte Fehler wird nicht angezeigt, aber die Kompilierung ist fehlgeschlagen.

log_w_develop_latest_commit_a09ef54.txt

Ich möchte eine Bemerkung hinzufügen.

Das letzte Protokoll zeigt an, dass ich bereits libusb in meinem System habe.
-- Found Libusb: C:/Windows/System32/libusb-1.0.dll
Natürlich ist diese Version alt.

Was ist Ihre Meinung dazu.

@purjus74 Ich denke das Problem mit libusb, dass Sie manuell herunterladen.
Bitte entfernen Sie es. Löschen Sie alle Builds. Und versuchen Sie es noch einmal.

Nur um genauere Angaben zu machen:
Bevor Sie Ihr Projekt verwenden, hatte mein System bereits eine libusb-Instanz.
libusb_on_my_windows_10

Wenn ich den Batch mingw64-build.bat lasse, um libusb-1.0.22.7z herunterzuladen, schlägt die Extraktion fehl:

...
-- Could NOT find Libusb (missing: LIBUSB_INCLUDE_DIR)
-- downloading libusb 1.0.22

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive for archives:
1 file, 2601 bytes (3 KiB)

Extracting archive: C:\stlink-develop\scripts\libusb-1.0.22.7z
ERROR: C:\stlink-develop\scripts\libusb-1.0.22.7z
C:\stlink-develop\scripts\libusb-1.0.22.7z
Open ERROR: Can not open the file as [7z] archive


ERRORS:
Is not archive
...

Es scheint, dass die Archivdatei beschädigt ist :(
image

@slyshykO : Du hast recht, mir ist zuerst nicht libusb Bibliothek vorhanden war.

Ich denke, dieses Verhalten (Fehler bei der Extraktion von libusb-1.0.22.7z) liegt an meinem Firmenschutz :(
Dies f*#! Der Schutz erstellt die gewünschte Archivdatei, enthält jedoch eine HTML-Fehlerseite !!!

html_page

Aber ich bin mir nicht sicher, ob es ein Problem ist, vor dem guten libusb-Archiv herunterzuladen und es in den Build-Ordner zu legen.
Mein erstes Log zeigt, dass die mingw64-build.bat das Archiv findet, entpackt und verwendet:

-- libusb archive already in build folder

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive for archives:
1 file, 980895 bytes (958 KiB)

Extracting archive: C:\stlink\scripts\libusb-1.0.22.7z
--
Path = C:\stlink\scripts\libusb-1.0.22.7z
Type = 7z
Physical Size = 980895
Headers Size = 682
Method = LZMA2:23 BCJ
Solid = +
Blocks = 2

Everything is Ok

@purjus74 :
@slyshykO : Ich denke, wir sollten den Anweisungen einen Hinweis hinzufügen, keine externen libusb Pakete bei der Installation unter Windows zu verwenden, da dies nicht das erste Problem dieser Art ist.

Das Problem ist, dass Windows viele Optionen zur Installation von libusb hat, auch viele Compiler mit unterschiedlichen ABI. Deshalb sollten wir Windows-Builds anbieten.

Ich habe es gerade auf einem anderen Computer versucht (ohne alten libusb in C:\Windows\System32) und es funktioniert (mit dem Entwicklungszweig, letztes Commit #a09ef54).
Daher liegt das Problem daran, dass andere libusb-Versionen bereits gespeichert und von anderen Projekten verwendet werden.

Vielen Dank für Ihre Unterstützung und Ihren Job ;)

Die Wiedereröffnung als Dokumentation und damit verbundene Arbeit bleibt ausstehend...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen