#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 ), 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
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