Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/05/2008, à 17:36

Anium

[Résolu]Debug avec autoconf et automake

Bonjour,

J'utilise automake et autoconf pour un projet.

Je n'arrive pas à compiler en debug. J'ai essayé de passer l'argument --enable-debug à configure mais rien de rien.

Il y a t-il quelque chose à ajouter dans configure.in ?

Merci d'avance.

Dernière modification par Anium (Le 29/05/2008, à 08:41)

Hors ligne

#2 Le 28/05/2008, à 03:35

Légion×

Re : [Résolu]Debug avec autoconf et automake

Bonjour,

Oui, il faut rajouter quelque chose dans le configure.ac
C'est assez bien expliqué dans les pages de documentation Info. Par ailleurs, c'est super agréable à lire avec un logiciel comme Emacs.

D'après ce que j'ai compris, quand tu appelles ta commande ./configure avec l'argument --enable-debug, cela affecte la variable $enable_debug à la valeur 'yes'.

Donc, dans ton configure.ac, tu ajoutes la ligne suivante :

AM_CONDITIONAL(DEBUG, test "$enable_debug" = yes)

Cela a pour effet de définir la condition DEBUG dans l'outil Automake.

Après, il faut que tu modifies tes makefile.am en conséquence.

if DEBUG
    AM_CFLAGS = -g -DDEBUG
endif

Je pense que ça doit être bon comme ça.
Je testerais demain, j'en ai besoin aussi pour un projet.

Cordialement,
Légion.

#3 Le 28/05/2008, à 07:00

nicolas.sitbon

Re : [Résolu]Debug avec autoconf et automake

C'est pas pour rien qu'on appelle ça "autohell", un conseil si tu peux, passes à cmake!

Hors ligne

#4 Le 28/05/2008, à 09:07

Anium

Re : [Résolu]Debug avec autoconf et automake

J'ai modifié configure.in et Makefile.am. J'ai arrangé un peu le second comme cela :

if DEBUG
    AM_CXXFLAGS = -ggdb -Wall -DDEBUG @CXXFLAGS@ @GTKMM_CFLAGS@  @PQXX_CFLAGS@
	gestion_appel_LDADD = -ggdb @PQXX_LIBS@ @LIBS@ @GTKMM_LIBS@
else
	AM_CXXFLAGS = @CXXFLAGS@ @GTKMM_CFLAGS@  @PQXX_CFLAGS@
	gestion_appel_LDADD = @PQXX_LIBS@ @LIBS@ @GTKMM_LIBS@
endif

Tout compile bien (sauf qu'il y a toujours -O2 mad), par contre à l'édition des liens il plante complètement. Il ne trouve pas les librairies. Les flags sont pourtant bons.

@nicolas.sitbon : J'y penserai pour le prochain projet wink

Edit : Bon j'avance, je devais mettre -ggdb dans les LDFLAGS, voici mes modifs

if DEBUG
    AM_CXXFLAGS = -ggdb -Wall -DDEBUG @GTKMM_CFLAGS@  @PQXX_CFLAGS@
    gestion_appel_LDFLAGS = -ggdb
else
    AM_CXXFLAGS = @CXXFLAGS@ @GTKMM_CFLAGS@  @PQXX_CFLAGS@
endif

gestion_appel_LDADD = @PQXX_LIBS@ @LIBS@ @GTKMM_LIBS@

Tout compile bien. Il reste juste à retirer les O2 pour accélérer la compilation.

Dernière modification par Anium (Le 28/05/2008, à 09:19)

Hors ligne

#5 Le 28/05/2008, à 11:46

Légion×

Re : [Résolu]Debug avec autoconf et automake

Je suis tombé sur ce petit bout de configure.ac à l'instant.
Ça m'a pas l'air trop mal non plus.

Je pense que tu peux l'utiliser pour remplacer ou affiner la solution précédente.

if test "x$enable_debug" = "xyes"; then
    CFLAGS="$CFLAGS -g -DDEBUG"
else
    CFLAGS="$CFLAGS -O2"
fi

Cordialement,
Légion.

#6 Le 29/05/2008, à 08:41

Anium

Re : [Résolu]Debug avec autoconf et automake

Merci, je tenterai ça plus tard.

Pour le moment, tant que je peux faire du gdb, ça me convient.

Merci pour l'aide, je passe en résolu.

Hors ligne