2014-05-02 5 views
24

Je veux construire un fichier c basé sur BlueZ mais ne semble pas un fichier bluetooth.h dans mon système. Je suis sûr que le dongle bluetooth fonctionne correctement et j'ai construit avec succès Bluez.Où se trouve bluetooth/bluetooth.h dans Linux?

Mise à jour

Pour mon cas, je trouve le bluetooth.h dans/utilisateur/include/dossier Bluetooth

+0

Donc vous savez où bluetooth.h est, mais vous n'êtes pas le compilateur. Vous devez inclure/user/include/bluetooth dans votre répertoire de recherche de compilateurs – user3288829

+0

Ce n'est pas nécessairement le problème que vous rencontrez, mais sur certaines distributions Linux, il y a la version binaire des paquets qui fournissent un support à l'exécution, puis un "-dev" séparé "package qui contient ce dont vous avez besoin pour lier vos propres programmes aux bibliothèques fournies. Peut-être n'avez-vous pas installé le paquet -dev pour bluez. (Oui, je sais que vous avez trouvé un en-tête - mais il peut y avoir plus à l'énigme) –

+0

@ChrisStratton Oui. Je pense que tu as raison. Je vais essayer d'ajouter la bibliothèque de dev. – Yiding

Répondre

49

Vous devez installer le paquet libbluetooth-dev pour compiler votre code

sudo apt-get install libbluetooth-dev 

Cela devrait installer les fichiers d'en-tête bluetooth.

+0

Est-il possible de résoudre ce problème sans installer ce fichier? J'ai seulement besoin de compiler, je ne suis pas autorisé à l'installer. – Black

+3

Oui télécharger et extraire le fichier .deb et fournir include répertoire à CLFAGS = -I/chemin/à/libbluetooth-dev/headerfiles lors de la configuration BlueZ –

+0

J'utilise bluetooth APIs dans Qt qui à son tour utilise bluez sur Linux, savez-vous ce que Je dois faire pour relier bluez à Qt? Merci. J'imagine que je dois encore exécuter installer avec la ligne que vous avez posté. – zar