Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Библиотека Libusb и GCC 
:(
    Опции темы
avroman
Дата 5.5.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.5.2009

Репутация: нет
Всего: нет



Здравствуйте,
Я пишу open source проект под названием USB pic Microcontroller programmer for LINUX OS.
Я разработал USB прибор, который связывается с компьютером по средствам HID протокола.

Я хочу воспользоваться библиотекой LIBUSB но что то не получается скомпилировать следующий код в GCC.


#include <libusb-1.0/libusb.h>
#include <stdio.h>
#include <string.h>

int main()
{
     libusb_device **list;
     libusb_init(NULL);       

      return 0;
  
}

я компилирую следующей командой: gcc -g -Wall  main2.c -o my -L/usr/local/lib
и получаю следующею ошибку: undefined reference to `libusb_init'

Может, кто знает, в чем проблема?
Зарание спасибо за ответ.
PM MAIL   Вверх
InvalidProperty
Дата 5.5.2009, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 356
Регистрация: 31.10.2007
Где: Россия, Казань

Репутация: 1
Всего: 9



линковщик не находит ссылку на libusb_init, т.е. тебе нужно передать ссылку на библиотеку. Попробуй вот это
Цитата

-llibrary
     -l library
         Search the library named library when linking.  (The
         second alternative with the library as a separate
         argument is only for POSIX compliance and is not
         recommended.)

         It makes a difference where in the command you write
         this option; the linker searches and processes libraries
         and object files in the order they are specified.  Thus,
         foo.o -lz bar.o searches library z after file foo.o but
         before bar.o.  If bar.o refers to functions in z, those
         functions may not be loaded.

         The linker searches a standard list of directories for
         the library, which is actually a file named
         liblibrary.a.  The linker then uses this file as if it
         had been specified precisely by name.


ты уверен, что твоя библиотека именно в /usr/local/lib?


--------------------
dd if=$0 of=$0 bs=1 count=76 seek=`du -b $0 | awk {'print $1'}` 2>/dev/null
dd if=$0 of=$0 bs=1 count=67 conv=notrunc oflag=append 2>/dev/null
echo $0 >> $0
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.