Sur mon système, les en-têtes dbus sont placés dans /usr/include/dbus-1.0/dbus/
et dbus-arch-deps.h
est un autre emplacement (ce qui semble étrange): /usr/lib/x86_64-linux-gnu/dbus-1.0/include/dbus/dbus-arch-deps.h
Dans mon programme, /usr/lib/x86_64-linux-gnu/dbus-1.0/include/dbus/dbus-arch-deps.h
#include
mais dans tous les fichiers d’en-tête qui incluent d’autres chemins, cela ressemble à ceci: #include
Je peux copier dbus-arch-deps.h
dans /usr/include/dbus-1.0/dbus/
mais comment réparer les chemins dans les en-têtes dbus?
Pkg-config est probablement installé sur votre système.
g++ $(pkg-config --cflags dbus-1) main.c
Pkgconfig contient une firebase database de l’éditeur de liens / compilateur / etc. drapeaux requirejs pour utiliser des bibliothèques spécifiques. Voir man pkg-config
pour plus d’informations.
Vous n’avez pas besoin de copier des fichiers.
Ajoutez simplement le chemin d’emplacement de dbus
à votre chemin d’inclusion lors de la compilation à l’aide du drapeau I
:
Exemple:
g++ -Wall -I /usr/include/dbus-1.0/ -o main.o
En utilisant l’emplacement de l’emplacement de dbus (à l’emplacement standard de /usr/include
, vous pouvez référencer les fichiers comme suit dans votre code source:
#include
De même, si vous devez dbus
lien contre dbus
vous devez append ce chemin au chemin d’inclusion des bibliothèques de la manière suivante:
g++ -Wall -I /usr/include/dbus-1.0/ -o main.o -L
Où dbus library path is where the libraries of
dbus`. Pour le savoir, consultez le Web ou recherchez votre système.
METTRE À JOUR:
Pour y parvenir dans Qt-Creator (que je n’ai jamais utilisé), voici peut-être une solution:
Comment append un chemin d’inclusion dans Qt Creator?
Tout d’abord, vous devez l’installer et le configurer correctement. Vous devriez essayer cette commande:
sudo apt-get -y install dbus libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev
Maintenant, voici le Makefile que vous devriez écrire pour la compilation:
all: g++ dbus.cpp -I/usr/include/dbus-1.0 \ -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include \ -I/usr/include/glib-2.0 \ -I/usr/lib/x86_64-linux-gnu/glib-2.0/include/ \ -ldbus-1 \ -ldbus-glib-1
Maintenant, vous pouvez inclure des fichiers comme dbus / dbus.h, dbus / dbus-glib.h, etc.