Stati c ошибка связи с библиотекой Libusb HidAPI жалуется на неопределенную ссылку - PullRequest
0 голосов
/ 12 марта 2020

Среда - Microsoft Windows WSL (Ubuntu 18.04 LTS), g ++ 7.4.0

Источник HidAPi - LIBUSB HIDAPI Источник Githib для сборки

Я собрал библиотеки hidapi, взяв исходный код из вышеуказанного репозитория, выполнил инструкции и успешно скомпилировал следующие двоичные файлы.

Binaries built


Проблема в том, что библиотеки hidapi, созданные из исходного кода, могут быть связаны динамически, но не статически, например: c ссылки на жалобы на ошибки, связанные с неопределенной ссылкой


Попытка компиляции и статически свяжите программу hidapp с libhidapi-libusb.a

(Обратите внимание, что hidapp. cpp содержит пример приведен в демонстрационном источнике hidapi github)

next- ошибки компоновщика (неопределенный ref) генерируются g ++

g++ linking errors part 1

Part2

g++ linking errors part 2

* 105 1 * Далее - если мы связываемся с Dynami c библиотекой ссылок, которая является libhidapi-libusb.so все в порядке и работает как ожидалось. link with dynmic lib

Для вашего удобства здесь приведены символы дампа / экспорта объектов из скомпилированного источника и библиотека stati c

  • Objdump скомпилированного источника [экспортированные символы]

obj dmp of the program

  • Objdump библиотеки stati c, равной libhidapi-libusb.a

objdmp of hidpai static lib part 1 objdmp of hidpai static lib part 2


конец

...