dbus — как установить пути включения

В моей системе заголовки dbus размещены в /usr/include/dbus-1.0/dbus/ а также dbus-arch-deps.h это другое место (что кажется странным): /usr/lib/x86_64-linux-gnu/dbus-1.0/include/dbus/dbus-arch-deps.h В мою программу я включаю #include<dbus-1.0/dbus/dbus.h>но в каждом заголовочном файле, который включает в себя другие пути, выглядит так: #include<dbus/xxx.h> Я могу скопировать dbus-arch-deps.h в /usr/include/dbus-1.0/dbus/ но как исправить пути в заголовках dbus?

2

Решение

В вашей системе, вероятно, установлен pkg-config.

g++ $(pkg-config --cflags dbus-1) main.c

Pkgconfig содержит базу данных компоновщика / компилятора / и т.д. флаги, которые необходимы для использования определенных библиотек. Увидеть man pkg-config для получения дополнительной информации.

5

Другие решения

Вам не нужно копировать файлы.

Просто добавьте путь где dbus находится в вашем пути включения при компиляции с использованием I флаг:

пример:

g++ -Wall -I /usr/include/dbus-1.0/ -o main.o

Используя местоположение, где находится dbus (в стандартном /usr/include, вы можете ссылаться на файлы, как показано ниже в вашем исходном коде:

#include <dbus/xxx.h>

Точно так же, если вам нужно связать с dbus вам нужно будет добавить этот путь к пути включения библиотек следующим образом:

g++ -Wall -I /usr/include/dbus-1.0/ -o main.o -L <dbus library path>

куда dbus library path is where the libraries ofдбус в прямом эфире. Чтобы выяснить это, обратитесь в Интернет или поищите в своей системе.

ОБНОВИТЬ:

Чтобы добиться этого в Qt-Creator (который я никогда не использовал), возможно, может помочь следующее:

Как добавить путь включения в Qt Creator?

1

Прежде всего вам необходимо установить и настроить его правильно.
Вы должны попробовать эту команду:

sudo apt-get -y install dbus libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev

Теперь вот Makefile, который вы должны написать для компиляции:

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

Теперь вы можете включать файлы, такие как dbus / dbus.h, dbus / dbus-glib.h и т. Д.

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector