Ошибка при сборке libusb c/c++

C:\Users\usr\Desktop\tests_cpp>g++ un_05.cpp -L. -lusb-1.0 C:\Users\usr\AppData\Local\Temp\ccfnETc8.o:un_05.cpp:(.text+0x24): undefined reference to libusb_init@4'*** C:\Users\usr\AppData\Local\Temp\ccfnETc8.o:un_05.cpp:(.text+0x6e): ***undefined reference tolibusb_get_device_list@8' collect2.exe: error: ld returned 1 exit status

когда я скачал библиотеку там были только 1) файл include\libusb.h 2) файлы для mingw64\mingw32 \libusb-1.0.a

и на с++ и на c одна и та же ошибка

подскажите что я делаю не так


Ответы (1 шт):

Автор решения: Vengeance Of the ghosts

Ошибка был а в разрядности компилятора и в том что я не положил dll файлы в папку с main.cpp

Что сделать чтобы избежать данной ошибки:

1)следует проверить разрядность скомпилировав:

cout << sizeof(void*);

если 4 - 32 битная если 8 - 64 битная

2) Далее нужно взять подходящие файлы из библиотеки и перенести их к main.cpp

3) При компиляции прилинкуйте только lib___.a файл

В mingw (g++) на примере файла libusb.a:

g++ main.cpp -L. -lusb

→ Ссылка