Stlink: [compatibilidad] referencia indefinida a `libusb_set_option '

Creado en 25 mar. 2020  ·  12Comentarios  ·  Fuente: stlink-org/stlink

Hola a todos,

Intentaré compilar el proyecto en Windows 10 con MinGW-w64 sin éxito.
El error es:
C:/stlink/src/sg.c:972: undefined reference to 'libusb_set_option'

Mi entorno es:

  • Windows 10
  • texane / stlink 1.6.0 => Esta versión requiere libusb-1.0.22.7z (descargado manualmente)
  • MinGW-w64 i686-8.1.0-posix-enano-rt_v6-rev0

¿Me puedes ayudar?

Registro completo de la compilación: log.txt

Gracias de antemano.

Ju

bucompilation bufixed dependenclibusb errocompilation generadocumention owindows staturesolved

Todos 12 comentarios

En su lugar, pruebe la rama develop . Creo que hubo algunas correcciones relacionadas con libusb desde la versión v1.6.0.

El error mencionado no se muestra, pero la compilación falló.

log_w_develop_latest_commit_a09ef54.txt

Quiero agregar un comentario.

El último registro indica que ya tengo libusb en mi sistema.
-- Found Libusb: C:/Windows/System32/libusb-1.0.dll
Seguro que esta versión es antigua.

Cuál es tu opinión acerca de esto.

@ purjus74 Creo que el problema con libusb, que se descarga manualmente.
Elimínelo. Borrar todas las compilaciones. Y prueba una vez más.

Solo para dar más detalles:
Antes de usar su proyecto, mi sistema ya tenía una instancia de libusb.
libusb_on_my_windows_10

Si dejo que el lote mingw64-build.bat descargue libusb-1.0.22.7z, la extracción falla:

...
-- 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
...

Parece que el archivo está dañado :(
image

@slyshykO : Tienes razón, al principio no me di cuenta de que había una biblioteca libusb externa.

Creo que este comportamiento (error durante la extracción de libusb-1.0.22.7z) se debe a la protección de mi empresa :(
Esta f*#! ¡la protección crea el archivo de almacenamiento deseado pero contiene una página html de error!

html_page

Pero no estoy seguro de que sea un problema descargar antes del buen archivo libusb y ponerlo dentro de la carpeta de compilación.
Mi primer registro ilustra que mingw64-build.bat encuentra el archivo, lo extrae y lo usa:

-- 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 : ¿Tu compilación completa tiene éxito ahora?
@slyshykO : Creo que deberíamos agregar una nota a las instrucciones sobre no usar paquetes externos libusb al instalar en Windows, ya que este no es el primer problema de este tipo.

El problema es que Windows tiene muchas opciones sobre cómo instalar libusb, también muchos compiladores con diferentes ABI. Es por eso que deberíamos proporcionar compilaciones de Windows.

Acabo de probar en otra máquina (sin el antiguo libusb dentro de C: \ Windows \ System32) y funciona (con la rama de desarrollo, última confirmación # a09ef54).
Por lo tanto, el problema se debe a otra versión de libusb ya almacenada y utilizada por otros proyectos.

Gracias por su apoyo y por su trabajo;)

Reabrir esto como documentación y trabajo relacionado sigue pendiente ...

¿Fue útil esta página
0 / 5 - 0 calificaciones