Stlink: [compatibilidade] referência indefinida para `libusb_set_option '

Criado em 25 mar. 2020  ·  12Comentários  ·  Fonte: stlink-org/stlink

Olá a todos,

Tentarei compilar o projeto no Windows 10 com MinGW-w64 sem sucesso.
O erro é:
C:/stlink/src/sg.c:972: undefined reference to 'libusb_set_option'

Meu ambiente é:

  • Windows 10
  • texane / stlink 1.6.0 => Esta versão requer o libusb-1.0.22.7z (baixado manualmente)
  • MinGW-w64 i686-8.1.0-posix-dwarf-rt_v6-rev0

Pode me ajudar?

Registro completo da compilação: log.txt

Agradeço antecipadamente.

Ju

bucompilation bufixed dependenclibusb errocompilation generadocumention owindows staturesolved

Todos 12 comentários

Em vez disso, tente a filial develop . Acho que houve algumas correções relacionadas a libusb desde o lançamento v1.6.0.

O erro mencionado não é exibido, mas a compilação falhou.

log_w_develop_latest_commit_a09ef54.txt

Eu quero adicionar uma observação.

O último log indica que já libusb em meu sistema.
-- Found Libusb: C:/Windows/System32/libusb-1.0.dll
Claro que esta versão é antiga.

Qual é a sua opinião sobre isso.

@ purjus74 Acho que o problema com o libusb, que você baixa manualmente.
Remova-o. Limpe todas as construções. E tente mais uma vez.

Só para dar mais detalhes:
Antes de usar seu projeto, meu sistema já tinha uma instância de libusb.
libusb_on_my_windows_10

Se eu permitir que o lote mingw64-build.bat baixe o libusb-1.0.22.7z, a extração falhará:

...
-- 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 o arquivo está corrompido :(
image

@slyshykO : Você está certo, não notei a princípio que uma biblioteca externa libusb estava presente.

Acho que esse comportamento (erro durante a extração libusb-1.0.22.7z) é devido à minha proteção da empresa :(
Este f * #! proteção cria o arquivo desejado, mas contém uma página html de erro !!!

html_page

Mas não tenho certeza se é um problema para baixar antes do bom arquivo libusb e colocá-lo dentro da pasta de compilação.
Meu primeiro registro ilustra que o mingw64-build.bat encontra o arquivo, extrai-o e usa-o:

-- 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 : Toda a sua compilação foi bem-sucedida agora?
@slyshykO : Acho que devemos adicionar uma nota às instruções sobre não usar pacotes libusb externos ao instalar no Windows, já que este não é o primeiro problema desse tipo.

O problema é que o windows tem muitas opções de como instalar o libusb, também muitos compiladores com ABI diferentes. É por isso que devemos fornecer compilações do Windows.

Acabei de tentar em outra máquina (sem libusb antigo dentro de C: \ Windows \ System32) e está funcionando (com desenvolver branch, último commit # a09ef54).
Portanto, o problema se deve a outra versão do libusb já armazenada e utilizada pelos demais projetos.

Obrigado pelo seu apoio e pelo seu trabalho;)

Reabrir isso porque a documentação e o trabalho relacionado continuam pendentes ...

Esta página foi útil?
0 / 5 - 0 avaliações