Форум: Техническая поддержка

Тема: Возможно ли собрать x502api без libusb?

Вы не вошли.

 Поиск | Регистрация | Вход 

14.11.2019 16:04:41
#26

Участник
Откуда: Мурманск
Здесь с 24.11.2018
Сообщений: 59

Re: Возможно ли собрать x502api без libusb?

Судя по всему собирается (но я еще не довел до конца). Но думаю, что в конечном приложении все равно понадобится подключать pthread даже если само приложение не будет его использовать.
Думаю, есть смысл указать pthread при сборке библиотек, тогда в приложении это можно не делать.

14.11.2019 17:41:08
#27

Участник
Откуда: Мурманск
Здесь с 24.11.2018
Сообщений: 59

Re: Возможно ли собрать x502api без libusb?

Все собралось. Тест то же собрался и даже не захотел pthread.

14.11.2019 18:08:40
#28

Участник
Откуда: Мурманск
Здесь с 24.11.2018
Сообщений: 59

Re: Возможно ли собрать x502api без libusb?

Получается, что если конечная программа не использует pthread, то и в подключенных библиотеках будет использоваться заглушка для pthread вызовов.
А если конечная программа начнет использовать pthread, то в бибиотеках будут реальные вызовы pthread.
Интересно. Не знал о такой фиче.
Вот еще хорошее описание этого эффекта: https://stackoverflow.com/questions/210 … tub-functi

15.11.2019 13:18:08
#29

Участник
Откуда: Мурманск
Здесь с 24.11.2018
Сообщений: 59

Re: Возможно ли собрать x502api без libusb?

Алексей!
Направил pull request со своими изменениями в репозитории x502api и osspec на bitbucket.

19.11.2019 14:34:11
#30

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,254

Re: Возможно ли собрать x502api без libusb?

Да, сейчас смотрю. Нужно будет поправить, чтобы и с USB тоже нормально собиралось.
Только не до конца понял пару вещей:
- для чего введено CMAKE_USE_PTHREADS_INIT? при этом у Вас вроде данная переменная не устанавливается?
- для чего сделано изменение OSSPEC_USE_MUTEX, OSSPEC_USE_EVENTS и  OSSPEC_USE_THREADS на их отрицание (NO_xxx).

19.11.2019 16:18:53
#31

Участник
Откуда: Мурманск
Здесь с 24.11.2018
Сообщений: 59

Re: Возможно ли собрать x502api без libusb?

для чего введено CMAKE_USE_PTHREADS_INIT? при этом у Вас вроде данная переменная не устанавливается?

Эту переменную устанавливает find_package(Threads REQUIRED), в случае если реализация потоков это pthread.
https://cmake.org/cmake/help/cmake2.6do … indThreads

для чего сделано изменение OSSPEC_USE_MUTEX, OSSPEC_USE_EVENTS и  OSSPEC_USE_THREADS на их отрицание (NO_xxx)

Эти переменные устанавливаются в CMakeLists.txt для x502 и e502 отдельно.
Мысль простая - при использовании osspec по умолчанию переменные не установлены и все возможности osspec включены.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск