IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GDB Discussion :

Insight (frontend GDB) impossible à compiler


Sujet :

GDB

  1. #1
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut Insight (frontend GDB) impossible à compiler
    Bonjour à tous,

    Je code en C++ sous Windows et ne souhaite pas utiliser d'IDE.
    J'utilise GVim (éditeur de texte), couplé à MinGW (GCC pour Windows) et CMake. J'aime beaucoup cet environnement, mais il me manque un frontend pour GDB (le débuggeur de GCC).

    Deux noms sortent du lot : Insight et DDD.

    J'ai opté pour le premier. Je me suis rendu sur le site officiel pour télécharger le code source (pas de binaire disponible).
    J'ai installé MSYS (environnement pseudo-unix permettant entre autres de compiler facilement un projet nécessitant la commande « ./configure && make && make install ») en suivant ces indications : http://www.mingw.org/wiki/msys .

    Le configure se passe sans encombre, mais la compilation s'interrompt lors du linking de la bibliothèque TCL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    []
    gcc -shared -g -O2  -o tcl84.dll -mwin32                -Wl,--out-implib,libtcl8
    4.a regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tc
    lBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o
     tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecu
    te.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclIn
    terp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclLiteral
    .o tclListObj.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o
    tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc
    .o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclStubInit.o t
    clStubLib.o tclThread.o tclThreadAlloc.o tclThreadJoin.o tclTimer.o tclUtf.o tcl
    Util.o tclVar.o tclWin32Dll.o tclWinChan.o tclWinConsole.o tclWinSerial.o tclWin
    Error.o tclWinFCmd.o tclWinFile.o tclWinInit.o tclWinLoad.o tclWinMtherr.o tclWi
    nNotify.o tclWinPipe.o tclWinSock.o tclWinThrd.o tclWinTime.o  strftime.o strtol
    l.o strtoull.o tcl.res.o
    Creating library file: libtcl84.a
    tclWinChan.o: In function `Tcl_MakeFileChannel':
    C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
    1052: undefined reference to `ESP'
    C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
    1052: undefined reference to `EBP'
    C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
    1067: undefined reference to `ESP'
    C:\msys\1.0\home\florian\insight\build\tcl\win/../../../src/tcl/win/tclWinChan.c:
    1067: undefined reference to `EBP'
    collect2: ld returned 1 exit status
    make[3]: *** [tcl84.dll] Error 1
    make[3]: Leaving directory `/home/florian/insight/build/tcl/win'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/florian/insight/build/tcl'
    make[1]: *** [all-tcl] Error 2
    make[1]: Leaving directory `/home/florian/insight/build'
    make: *** [all] Error 2
    Suis-je le seul dans cette situation ?
    Y a-t-il des utilisateurs d'Insight travaillant sous Windows ? Si oui, avez-vous suivi ces étapes pour installer Insight ?

    (Quant à DDD, j'ai tenté la même opération sans succès. Mais ce sera peut-être l'objet d'un autre topic.)

    Merci.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut Florian,
    Essaie Visual C++ Express
    J'ai trouvé ce conseil :
    Here is the solution to this problem:

    Change lines:
    static void *ESP;
    static void *EBP;

    to

    static void *ESP __attribute__ ((used));
    static void *EBP __attribute__ ((used));
    Pour quelqu'un qui se plaignait des mêmes symptômes mais dans un autre contexte.

  3. #3
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Merci Archi, c'était bien ça .

    J'ajouterais quelques autres modifs nécessaires :
    - retirer les casts des lignes correspondant aux erreurs « lvalue required… » (caster une lvalue, quelque chose m'échappe…) ;
    - ajouter des « return 0; » à la fin des fonctions non-void qui ne contiennent aucune instruction return.

    Et maintenant j'ai un « bidule may be used uninitialized » qui vient de me couper l'envie d'utiliser ce truc.
    Je vais chercher autre chose qu'Insight, parce que si c'est aussi chiant à utiliser qu'à compiler, je sens que je vais me faire du mal .

    EDIT : Suite à ce hurlement primaire nécessaire, j'ai corrigé les dernières erreurs de compilation. Il y a deux tableaux qu'il faut initialiser avec = {0}.
    Les utilisateurs de MSYS comme moi (et non ceux de Cygwin) doivent en plus appliquer un patch : http://sourceware.org/ml/gdb-patches.../msg00214.html

    J'ai enfin réussi à lancer une IHM \o/.
    Ça a intérêt à être vachement bien, ce bidule…

    Merci pour ton aide, Archi !
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut Florian,
    Un petit retour d'expérience quand t'auras tâté la chose deux ou trois fois sera le bienvenu

  5. #5
    Membre régulier
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    sinon, autre solution que je pense possible, pourquoi ne pas utiliser le debug frontend avec eclipse CDT?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible à compiler dll
    Par devconf77 dans le forum Windows
    Réponses: 1
    Dernier message: 09/12/2010, 10h59
  2. Impossible compiler sockets visual studio
    Par v_floyd_6 dans le forum C++
    Réponses: 3
    Dernier message: 26/02/2010, 16h20
  3. [mysql++ et mingw gdb] Impossible d'utiliser le debugger
    Par zerbynette dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 11/11/2009, 17h30
  4. [VS9] Glibmm 2.14 impossible à compiler
    Par countag dans le forum GTK+
    Réponses: 5
    Dernier message: 22/12/2007, 00h20
  5. Réponses: 8
    Dernier message: 03/06/2006, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo