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

wxWidgets Discussion :

Erreur au link undefined reference to wxOnAssert


Sujet :

wxWidgets

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Points : 120
    Points
    120
    Par défaut Erreur au link undefined reference to wxOnAssert
    Bonjour a tous, j'ai un programme assez conséquent fait sous Windows. J'essaie de le porter sous linux. J'ai installé wxWidgets, les libs sont dans \usr\local\lib.
    Les voici :

    wx_base-2.8
    wx_gtk2_aui-2.8
    wx_gtk2_xrc-2.8
    wx_gtk2_qa-2.8
    wx_base_xml-2.8
    wx_gtk2_core-2.8
    wx_gtk2_html-2.8
    wx_gtk2_richtext-2.8

    Voila, et donc lorsque je compile, pas de problème, mais lorsque je link, voici les problèmes que je rencontre, tous ciblés sur la fonction wxOnAssert.

    ./Krablenet/Sources/Scrabble/HMI/CGame.o: In function `wxStringBase':
    /usr/local/include/wx-2.8/wx/string.h:351: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Find/HMI/CFind.o: In function `wxCheckBoxBase::IsChecked() const':
    /usr/local/include/wx-2.8/wx/checkbox.h:69: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Find/HMI/CFind.o: In function `wxCheckBoxBase:oGet3StateValue() const':
    /usr/local/include/wx-2.8/wx/checkbox.h:125: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Find/HMI/CFind.o: In function `wxCheckBoxBase:oSet3StateValue(wxCheckBoxState)':
    /usr/local/include/wx-2.8/wx/checkbox.h:121: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Dictionary/TDictionary.o: In function `wxZipEntryPtr::operator->() const':
    /home/stalex/workspace/krablenet/Debug/../Krablenet/Sources/Dictionary/TDictionary.cpp:21: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Dictionary/TDictionary.o:/usr/local/include/wx-2.8/wx/string.h:433: more undefined references to `wxOnAssert(char const*, int, char const*, char const*, char const*)' follow
    ./Krablenet/Sources/Common/Engine/TApplication.o.rodata._ZTV12TApplication[vtable for TApplication]+0x90): undefined reference to `wxApp::OnAssertFailure(char const*, int, char const*, char const*, char const*)'
    ./Krablenet/Sources/Common/Engine/TApplication.o.rodata._ZTV12TApplication[vtable for TApplication]+0x94): undefined reference to `wxAppConsole::OnAssert(char const*, int, char const*, char const*)'
    Voila, comment eviter ce problème ? Me manque-t-il quelque chose d'installé pour mieux linker ? Merci pour votre aide.

    Edit : j'ai une idée : Actuellement j'ai compilé tout mon projet en débug. J'ai d'ailleurs spécifié l'option __DEBUG__ dans la compil.
    Mais je n'ai pas installé les depots wxWidgets en debug. Ca aurait un lien ? Le OnAssert ne serait pas présent dans les lib en release ? Si c'est ca alors comment faire pour résoudre le pb, il ne faut pas simplement installer les depots en debug ?

    MERCI !!!

    Bye

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Il manque la définition de __WXDEBUG__ ?

  3. #3
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Citation Envoyé par Muetdhiver Voir le message
    J'essaie de le porter sous linux. J'ai installé wxWidgets
    Comment ?
    Parce que si tu es sous une distro digne de ce nom, tu dois avoir les paquets de dev (avec ou sans debug) directement dans le système de paquets, ce qui t'évite une installation hasardeuse
    "Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Points : 120
    Points
    120
    Par défaut
    Oui tout a fait.
    J'ai installé par le biais de synaptic sous ubuntu.

    J'ai donc (étrangement) des lib en RELEASE ANSI dans /usr/local/lib.

    Mais ce que j'ai decouvert apres était que j'avais aussi des lib dans /usr/lib !! Les lib en RELEASE UNICODE et DEBUG UNICODE !

    Donc, comme le DEBUG ANSI n'existe pas par défaut, j'ai pris ce qu'on me donnait, et j'ai repassé tout mon code en UNICODE (gestion des strings, gros bordel...). Apres quelques dizaines d'erreurs de compilation liées au formalisme des strings wxWdiget en UNICODE, j'ai finalement fini par compiler. Puis j'ai linké avec les lib DEBUG UNICODE contenues dans /usr/lib. Et voila ! Ca marche en DEBUG !

    A plus !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2014, 14h22
  2. Erreur de type undefined reference to `_imp_*'
    Par Agoudard dans le forum C++
    Réponses: 3
    Dernier message: 20/09/2012, 10h54
  3. pb de link? (undefined reference to `__getreent)
    Par nikkomowa dans le forum Fortran
    Réponses: 1
    Dernier message: 02/12/2011, 12h56
  4. Réponses: 2
    Dernier message: 21/08/2011, 12h25
  5. Erreur de compilation "undefined reference"
    Par aljekeny dans le forum Débuter
    Réponses: 14
    Dernier message: 06/01/2009, 11h14

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