Stlink: [kompatibilitas] referensi tidak terdefinisi ke `libusb_set_option'

Dibuat pada 25 Mar 2020  ·  12Komentar  ·  Sumber: stlink-org/stlink

Halo semua,

Saya akan mencoba mengkompilasi proyek di Windows 10 dengan MinGW-w64 tanpa hasil.
Kesalahannya adalah:
C:/stlink/src/sg.c:972: undefined reference to 'libusb_set_option'

lingkungan saya adalah:

  • Windows 10
  • texane/stlink 1.6.0 => Versi ini membutuhkan libusb-1.0.22.7z (diunduh secara manual)
  • MinGW-w64 i686-8.1.0-posix-dwarf-rt_v6-rev0

Bisakah kamu membantuku?

Log lengkap kompilasi: log.txt

Terima kasih sebelumnya.

ju

bucompilation bufixed dependenclibusb errocompilation generadocumention owindows staturesolved

Semua 12 komentar

Silakan coba cabang develop sebagai gantinya. Saya pikir ada beberapa perbaikan yang terkait dengan libusb sejak Rilis v1.6.0.

Kesalahan yang disebutkan tidak ditampilkan tetapi kompilasi gagal.

log_w_develop_latest_commit_a09ef54.txt

Saya ingin menambahkan komentar.

Log terakhir menunjukkan bahwa saya sudah libusb di sistem saya.
-- Found Libusb: C:/Windows/System32/libusb-1.0.dll
Tentu versi ini sudah tua.

Apa pendapat Anda tentang ini.

@purjus74 Saya pikir masalah dengan libusb, yang Anda unduh secara manual.
Silakan hapus. Hapus semua build. Dan coba sekali lagi.

Hanya untuk memberikan rincian lebih lanjut:
Sebelum menggunakan proyek Anda, sistem saya sudah memiliki instance libusb.
libusb_on_my_windows_10

Jika saya membiarkan batch mingw64-build.bat mengunduh libusb-1.0.22.7z, ekstraksi gagal:

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

Sepertinya arsipnya adalah file yang rusak :(
image

@slyshykO : Anda benar, pada awalnya saya tidak menyadari bahwa perpustakaan libusb eksternal ada.

Saya pikir perilaku ini (kesalahan selama ekstraksi libusb-1.0.22.7z) disebabkan oleh perlindungan perusahaan saya :(
ini f*#! perlindungan membuat file arsip yang diinginkan tetapi berisi halaman html kesalahan !!!

html_page

Tapi saya tidak yakin itu masalah untuk mengunduh sebelum arsip libusb yang bagus dan meletakkannya di dalam folder build.
Log pertama saya menggambarkan bahwa mingw64-build.bat menemukan arsip, mengekstraknya, dan menggunakannya:

-- 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 : Apakah seluruh kompilasi Anda berhasil sekarang?
@slyshykO : Saya pikir kita harus menambahkan catatan pada instruksi untuk tidak menggunakan paket libusb eksternal saat menginstal di windows, karena ini bukan masalah pertama dari jenisnya.

Masalahnya adalah windows memiliki banyak pilihan cara menginstal libusb, juga banyak kompiler dengan ABI yang berbeda. Itu sebabnya kita harus menyediakan build windows.

Saya baru saja mencoba di mesin lain (tanpa libusb lama di dalam C:\Windows\System32) dan berfungsi (dengan cabang pengembangan, komit terakhir #a09ef54).
Oleh karena itu, masalahnya adalah karena versi libusb lain sudah disimpan dan digunakan oleh proyek lain.

Terima kasih atas dukungan dan pekerjaan Anda;)

Membuka kembali ini sebagai dokumentasi dan pekerjaan terkait tetap luar biasa...

Apakah halaman ini membantu?
0 / 5 - 0 peringkat