Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Programmation.c : autotools et gtk

Posté par liberforce (Jabber id, page perso, ) le 03 octobre 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

> Lire le message (7 commentaires, moyenne: 1,7).  

Vous avez demandé le commentaire #632086.

meuh

Posté par gc (page perso, ) le 03/10/2005 à 15:10. (lien). Évalué à 1.

pars d'un (petit) logiciel existant qui fait ça et regarde comment il le fait.

  • [^]Re: meuh

    Posté par liberforce (Jabber id, page perso, ) le 03/10/2005 à 15:53. (lien). É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 liberforce (Jabber id, page perso, ) le 03/10/2005 à 16:22. (lien). É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 ?

      • [^]Re: meuh

        Posté par Étienne Bersac (Jabber id, page perso, ) le 03/10/2005 à 19:00. (lien). Évalué à 2.

        faut peut-être renseigner un peu plus PKG_CHECK_MODULES (c'est ce que fait anjuta).

        J'avoue que moi aussi, j'ai un peu de mal à me plonger dans les autotools et dans les autotools + gtk. En attendant les bon articles de GLMF sur le sujet :)

        --
        E Ultreïa !
        • [^]Re: meuh

          Posté par liberforce (Jabber id, page perso, ) le 03/10/2005 à 20:17. (lien). É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 Christophe Fergeau () le 03/10/2005 à 20:36. (lien). É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 liberforce (Jabber id, page perso, ) le 04/10/2005 à 13:23. (lien). É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