O Autoconfig / Automake não gera AM_CFLAGS & AM_LDFLAGS para a biblioteca D-BUS dependente. Por quê?

1

Eu quero construir um programa que use o DBUS, usando ferramentas automake / autoconfig. Mas o comando make sempre reporta um erro "dbus / dbus-glib.h": Nenhum arquivo ou diretório.

Meu sistema operacional é o Ubuntu 10.10. E eu instalei ambos "dbus-1" e "dbus-glib-1". Eu verifico o Makefile gerado e descobri que AM_CFLAGS e AM_LDFLAGS estão vazios.

Alguém poderia ajudar? Muito obrigado!

Aqui está o meu código:

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

my-app.c

...
"#include" {{{<dbus/dbus-glib.h>}}}
...
    
por Amanda 14.03.2011 / 08:37

2 respostas

2

Eu encontrei a causa raiz. No configure.ac, eu deveria ter adicionado sinalizadores DBUS C / LD antes de chamar AC_CONFIG_FILES ([Makefile]) e AC_OUTPUT. Então, o AM_CFLAGS e o AM_LDFLAGS no Makefile podem obter um valor válido.

    
por 14.03.2011 / 09:41
0

Você executou aclocal para incluir todas as definições relevantes?

    
por 14.03.2011 / 08:47