Forum Programmation.c autotools et gtk

Posté par  (site web personnel) .
Étiquettes : aucune
0
3
oct.
2005
Bonjour,

J'essaie de me mettre un peu au dev GTK, et j'ai un petit problème depuis que j'ai passé mon projet sous autotools...

A la compilation, au moment du "make", il ne trouve pas les chemins des headers GTK+... y a t'il quelque chose à à rajouter, l'équivalent d'un appel à "pkg-config --cflags --libs gtk+-2.0" afin qu'il retrouve son chemin ?

Merci de votre aide
  • # meuh

    Posté par  (site web personnel) . Évalué à 1.

    pars d'un (petit) logiciel existant qui fait ça et regarde comment il le fait.
    • [^] # Re: meuh

      Posté par  (site web personnel) . Évalué à 2.

      bin c'et ce que j'ai fait, mais difficile de trouver la syntaxe quand on débute en autotools... Et sur le cvs de gnome, sur les petites applis d'exemple, y avait pas de configure.ac...

      La seule solution de contournement que j'ai trouvé pour l'instant, c'est de compiler avec make CFLAGS="$(pkg-config --cflags --libs gtk+-2.0)", mais c'est pas tip-top...
      • [^] # Re: meuh

        Posté par  (site web personnel) . Évalué à 2.

        Je viens de regarde leafpad, qui est un petit projet: http://tarot.freeshell.org/leafpad/(...)


        AC_INIT(Leafpad, 0.8.4, tarot@sdf.lonestar.org)
        AM_INIT_AUTOMAKE($PACKAGE_TARNAME, $PACKAGE_VERSION)
        AM_CONFIG_HEADER(config.h)

        AC_PROG_INTLTOOL(, no-xml) # require >= 0.31 for autoreconf
        AC_PROG_CC
        if test "$GCC" = "yes"; then
        CFLAGS="$CFLAGS -Wall"
        fi

        AM_PATH_GTK_2_0

        AC_ARG_ENABLE(chooser,
        AC_HELP_STRING([--enable-chooser], [use GtkFileChooser instead of GtkFileSelector]),
        AC_DEFINE(ENABLE_CHOOSER, 1, [Define if GtkFileChooser is enabled.])
        )
        #AC_ARG_ENABLE(gnomeprint,
        # AC_HELP_STRING([--enable-gnomeprint], [use GnomePrint for printing]),
        # AC_DEFINE(ENABLE_GNOMEPRINT, 1, [Define if GnomePrint is enabled.])
        #)
        AC_ARG_ENABLE(print,
        AC_HELP_STRING([--disable-print], [do not include print feature]),
        AC_DEFINE(DISABLE_PRINT, 1, [Define if printing feature is disabled.])
        )
        if test "$enable_print" != "no"; then
        if test "$enable_gnomeprint" = "yes"; then
        PKG_CHECK_MODULES(GNOMEPRINT, libgnomeprintui-2.2)
        AC_SUBST(GNOMEPRINT_CFLAGS)
        AC_SUBST(GNOMEPRINT_LIBS)
        fi
        fi

        ALL_LINGUAS="bg ca cs de el es fr he hu it ja lt pl pt ru sk sv ta tr vi zh_CN zh_TW"
        GETTEXT_PACKAGE="$PACKAGE"
        AC_SUBST(GETTEXT_PACKAGE)
        AM_GLIB_GNU_GETTEXT
        AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR)

        AC_CONFIG_FILES([Makefile src/Makefile po/Makefile.in])
        AC_OUTPUT


        La seule signe intéressante que je vois, c'est AM_PATH_GTK_2_0, il va vérifier la version de GTK2.0 que j'utilise, donc la trouve mais le make n'a toujours pas le chemin intégré...

        J'ai pourtant remis à jour toute le chaine avec:
        aclocal && autoconf && automake && ./configure && make... où est mon erreur ?
        • [^] # Commentaire supprimé

          Posté par  . Évalué à 2.

          Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Re: meuh

            Posté par  (site web personnel) . Évalué à 2.

            Bin non, c'est pas ça, parce que là, c'est celui de leafpad et il marche.
            De mon côté, ça marche pas... Je me suis basé sur l'article de GLMF pour les fichiers, ça marche pour un projet normal, sans GTK, mais avec GTK, il ajoute pas les chemins de GTK dans le "-I " dans l'appel à gcc. Mais je vois pas dans le fichier le configure.ac de leafpad ce qui entraine l'inclusion des chemins des includes de gtk... Je ne vois pas de ligne particulière...
            • [^] # Re: meuh

              Posté par  . Évalué à 1.

              PKG_CHECK_MODULES(RHYTHMBOX, gtk+-2.0)

              AC_SUBST(RHYTHMBOX_CFLAGS)
              AC_SUBST(RHYTHMBOX_LIBS)

              et dans ton Makefile.am tu utilises $(RHYTHMBOX_CFLAGS) dans ta variable INCLUDES et RHYTHMBOX_LIBS dans ta variable tonprog_LDADD
              • [^] # Re: meuh

                Posté par  (site web personnel) . Évalué à 2.

                yes, merci ça marche avec tes indications (le INCLUDES et les MONPROG_CFLAGS et MONPROG_LIBS). Ce n'était pas encore abordé dans le dernier GLMF... merci encore

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.