Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Linux для начинающих

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2014, 21:42   #1
SergeJey
Junior Member
 
Регистрация: 16.08.2012
Сообщений: 23
Вес репутации: 0
SergeJey is an unknown quantity at this point
По умолчанию Компиляция программы с библиотекой libusb

Приветствую!

Ребята, подскажите пожалуйста, уже несколько дней не могу решить проблему с компиляцией программы, которая использует libusb.

Предыстория. Начал разбираться с кросс-компиляцией по этому мануалу: http://telecnatron.com/articles/Cros...nWRT-On-Linux/

Вроде бы всё неплохо, hello world скомпилировалось отлично (опустим танцы с бубном по поводу установки среды для кросс-компиляции, та ещё процедура для меня), на роутере запустилось. Дальше у меня была задача скомпилировать программу dcled (http://www.last-outpost.com/~malakai/dcled/), чтобы попробовать вывести какие-то надписи на подключаемому по USB led-бэджику (в будущем хочу сделать его управляемым по wifi). Скачал исходники программы, распаковал. И тут засада...

Сначало пробовал сделать всё тоже самое, что и с классическим примером:
Код:
# Set up paths and environment for cross compiling for openwrt
export STAGING_DIR=/usr/local/crosscompile/openwrt/staging_dir
export TOOLCHAIN_DIR=$STAGING_DIR/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2
export LDCFLAGS=$TOOLCHAIN_DIR/usr/lib
export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/usr/lib
export PATH=$TOOLCHAIN_DIR/bin:$PATH
mips-openwrt-linux-gcc -g -lm -lusb-1.0 -o dcled dcled.c
На выходе имеем ошибку:
Код:
dcled.c:30:20: fatal error: libusb.h: No such file or directory
 #include <libusb.h>
                    ^
compilation terminated.
Ок... пишут, что можно использовать стандартный make-файл с такими параметрами:
Код:
# Set up paths and environment for cross compiling for openwrt
export STAGING_DIR=/usr/local/crosscompile/openwrt/staging_dir
export TOOLCHAIN_DIR=$STAGING_DIR/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2
export LDCFLAGS=$TOOLCHAIN_DIR/usr/lib
export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/usr/lib
export PATH=$TOOLCHAIN_DIR/bin:$PATH
make CC=mips-openwrt-linux-uclibc-gcc LD=mips-openwrt-linux-uclibc-ld
на выходе:
Код:
mips-openwrt-linux-uclibc-gcc dcled.o -o dcled -g -lm -lusb-1.0
/usr/local/crosscompile/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lusb-1.0
collect2: error: ld returned 1 exit status
make: *** [dcled] Error 1
Перепробовал уже наверное миллион комбинаций и, честно говоря, мозг закипает.

Для справки результат выполнения "locate libusb.h"

Код:
/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/ipkg-install/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/libusb/libusb.h
/usr/local/crosscompile/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include/libusb-1.0/libusb.h
Помогите, а то с ума сойду
Как вариант, может кто-нибудь может скомпилировать мне эту чёртову программу, т.к. я не уверен, что она в итоге у меня заработает и всё может оказаться зря...

ЗАРАНЕЕ СПАСИБО!!!
SergeJey вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:14. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика