Проблемы с Bluetooth при компиляции с gcc на RaspberryPi

0

Я использую Raspbian (Debian Wheezy). Я установил

$ sudo apt-get install bluez bluez-tools bluez-dbg bluez-hcidump bluez-tools python-bluez libbluetooth-dev libbluetooth3 libbluetooth3-dbg

но при попытке скомпилировать следующую строку, он говорит, что не знает библиотеки:

$ gcc scanbd.c -o scanbd
/tmp/ccl5BrFc.o: In function 'main':
scanbd.c:(.text+0x84): undefined reference to 'hci_get_route'
scanbd.c:(.text+0x90): undefined reference to 'hci_open_dev'
scanbd.c:(.text+0x11c): undefined reference to 'hci_inquiry'
scanbd.c:(.text+0x170): undefined reference to 'ba2str'
scanbd.c:(.text+0x1c8): undefined reference to 'hci_read_remote_name'
collect2: ld returned 1 exit status

Это те заявления include, которые у меня есть в моем файле.c:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/hci_lib.h>

Кто-нибудь знает, что я делаю неправильно? благодаря

ОБНОВЛЕНИЕ: Оказывается, что я сделал все правильно, но мне пришлось выключить/отключить RPi, а затем перезапустить все, чтобы все было в порядке... после этого -lbluetooth был на пути. Спасибо, парни

  • 0
    Недостаточно установить библиотеки Bluetooth, вам также нужно связать их с вашей программой. Добавьте -lbluetooth к вашей команде компилятора, и неопределенные ошибки ссылок исчезнут.
  • 1
    Извините за путаницу, я скомпилировал, используя строку "# gcc -o scanbd scanbd.c -lbluetooth". Там сказано, что нет такого файла или каталога "блютус". Что такое расширение файла библиотеки bluetooth? Может быть, я могу поискать и посмотреть, установлен ли он вообще. Или, может быть, это не в пути? Хотя я добавил пути к библиотекам / usr / include и / usr /. Я получил ошибки hci_ *, когда удалил библиотеку -lbluetooth из команды компилятора. Как я уже упоминал, когда я добавляю -lbluetooth обратно, он говорит, что не знает об этом.
Показать ещё 1 комментарий
Теги:
bluetooth
gcc
raspbian

1 ответ

0

Надежды ниже ссылок могут вам помочь.

Связь с libbluetooth.so

Когда вы компилируете, поставьте параметр -lbluetooth после scannbd.c, как показано ниже:

Пример: gcc scanbd.c -lbluetooth -o scanbd

Ещё вопросы

Сообщество Overcoder
Наверх
Меню