Intereting Posts
Есть ли общий способ вывести pdf-файлы в удобочитаемом формате в командной строке и сохранить общий макет? Почему мой mod_authnz_external не работает? Почему сохранение KVM-QEMU VM требует дополнительной памяти? Использование awk для деления числа в каждой строке файла на максимальное значение в этом файле Как найти максимальный и минимальный размер файла вместе со своим путем в каталоге Где я могу найти список кодов ошибок «make»? «PARTUUID» в «/ etc / fstab» и (аппаратное) RAID0 не хорошо сочетаются вместе, не так ли? ps: полная команда слишком длинная Как удалить недействительный osd в кластере ceph? Как pdflush, kjournald, swapd и т. Д. Взаимодействуют? Команды, вставленные в терминал, усекаются Ошибка загрузки Debian после принудительного отключения Curl с ipv6 не работает по умолчанию Сбой в Systemd. Где = установка не соответствует названию устройства Почему стая не очищает файл блокировки?

Autoconfig / Automake не может генерировать AM_CFLAGS & AM_LDFLAGS для зависимой библиотеки D-BUS. Зачем?

Я хочу создать программу, использующую DBUS, используя средства automake / autoconfig. Но команда make всегда сообщает об ошибке «dbus / dbus-glib.h»: нет такого файла или каталога.

Моя ОС – ubuntu 10.10. И я установил оба «dbus-1» и «dbus-glib-1». Я проверяю сгенерированный Makefile и обнаружил, что AM_CFLAGS и AM_LDFLAGS пусты.

Может ли кто-нибудь помочь? Большое спасибо!

Вот мой код:

configure.ac:

AC_INIT([my-app], [0.1]) AC_PREREQ([2.59]) AM_INIT_AUTOMAKE([1.10 -Wall no-define]) AC_CONFIG_HEADERS([config.h]) AC_PROG_CC AM_PROG_CC_C_O AC_CONFIG_FILES([Makefile]) AC_OUTPUT DBUS_REQUIRED=1.3.1 DBUS_GLIB_REQUIRED=0.82 GLIB_REQUIRED=2.26.0 PKG_CHECK_MODULES(DBUS, [dbus-1 >= $DBUS_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED]) AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) 

Makefile.am:

 AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS} bin_PROGRAMS = my_app my_app_SOURCES = src/my-app.c AM_CFLAGS= @DBUS_CFLAGS@ AM_LDFLAGS= @DBUS_LIBS@ dist_noinst_SCRIPTS = autogen.sh 

мой-app.c

 ... "#include" {{{<dbus/dbus-glib.h>}}} ... 

Я нашел причину. В configure.ac я должен был добавить флаги DBUS C / LD перед вызовом AC_CONFIG_FILES ([Makefile]) и AC_OUTPUT. Затем AM_CFLAGS и AM_LDFLAGS в Makefile могут получить действительное значение.

Вы запустили aclocal чтобы привести все соответствующие определения?