Hidapi не может скомпилировать какой-либо код под Ubuntu

Я пытаюсь использовать библиотеку hidapi под Ubuntu 12.04. Я следовал руководству по github, однако, даже тестовый код, который идет с ним, не работает. Он всегда жалуется на неопределенную ссылку. Я не могу найти никакого решения. Я не могу найти библиотеку в любом месте, даже после успешной установки.

Я пытаюсь скомпилировать hidtest.cpp, первая ошибка в hid_init() линия.

Может ли кто-нибудь помочь мне?

РЕДАКТИРОВАТЬ:

make all

Building target: hidtest

Invoking: Cross G++ Linker

g++  -o "hidtest"  ./src/hidtest.o

./src/hidtest.o: In function `main':
/../src/hidtest.cpp:35: undefined reference to `hid_init'
/../src/hidtest.cpp:38: undefined reference to `hid_enumerate'
/../src/hidtest.cpp:53: undefined reference to `hid_free_enumeration'
/../src/hidtest.cpp:63: undefined reference to `hid_open'
/../src/hidtest.cpp:71: undefined reference to `hid_get_manufacturer_string'
/../src/hidtest.cpp:78: undefined reference to `hid_get_product_string'
/../src/hidtest.cpp:85: undefined reference to `hid_get_serial_number_string'
/../src/hidtest.cpp:93: undefined reference to `hid_get_indexed_string'
/../src/hidtest.cpp:99: undefined reference to `hid_set_nonblocking'
/../src/hidtest.cpp:103: undefined reference to `hid_read'
/../src/hidtest.cpp:111: undefined reference to `hid_send_feature_report'
/../src/hidtest.cpp:120: undefined reference to `hid_get_feature_report'
/../src/hidtest.cpp:123: undefined reference to `hid_error'
/../src/hidtest.cpp:137: undefined reference to `hid_write'
/../src/hidtest.cpp:140: undefined reference to `hid_error'
/../src/hidtest.cpp:146: undefined reference to `hid_write'
/../src/hidtest.cpp:155: undefined reference to `hid_read'
/../src/hidtest.cpp:173: undefined reference to `hid_close'
/../src/hidtest.cpp:176: undefined reference to `hid_exit'

collect2: ld returned 1 exit status

make: *** [hidtest] Error 1

Это делается под Ubuntu 12.04 и с использованием Eclipse Juno

2

Решение

Это ошибки компоновщика:

collect2: л.д. возвращен 1 статус выхода

Сначала я подумал, что вы не связываете свой код с библиотекой hidapi, но единственный случай, когда мне случайно удалось воспроизвести именно те ошибки, которые у вас были, — это поместить параметры gcc в неправильный порядок. Это не с тем же выводом:

$ g++ -c -Ihidapi hidtest/hidtest.cpp -o hidtest/hidtest.o
$ g++ -Llinux/.libs -lhidapi-hidraw hidtest/hidtest.o -o test

Ваш объектный файл должен появиться перед библиотекой в ​​аргументах gcc для стадии связывания.

Следующее работает просто отлично:

$ g++ -c -Ihidapi hidtest/hidtest.cpp -o hidtest/hidtest.o
$ g++ -Llinux/.libs hidtest/hidtest.o -lhidapi-hidraw -o test
$ LD_LIBRARY_PATH=linux/.libs ./test

Обратите внимание, что я должен использовать -I, -L и LD_LIBRARY_PATH, потому что я не установил hidapi, я сделал все из исходной папки hidapi.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]