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 :

Que signifie cette erreur ?


Sujet :

wxWidgets

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Que signifie cette erreur ?
    Bonjour,

    je fabrique une dll, utilisant wxdevC++, compilée avec VC2005 et utilisant l'API du logiciel de simulation Smash, afin de créer une interface de communication et d'animation avec lui.
    Je reprends du code d'une interface existante, mais développée avec une version précédente de wxwidgets et pour une autre version de smash.

    J'en suis à une erreur de linker, dont je ne comprends pas bien le sens :

    .../gllib_glcanvas.obj [Error LNK2005] "public: __thiscall wxString::wxString(char const *)" (??0wxString@@QAE@PBD@Z) already defined in wxbase28.lib(wxbase28_vc8_custom.dll)

    Je suppose qu'il y a un truc qui déconne avec les bibliothèques que j'inclue mais je ne trouve pas quoi.

    wxbase28_vc8_custom.dll est à un endroit qui ne me semblait pas inclus aux ressources du projet : C:\Program Files\Dolphin\Smash5130\bin

    wxbase28.lib est dans C:\Program Files\Dolphin\Smash5130\lib\wx, qui lui est inclus.

    Sauriez vous m'aider à trouver ce qui cloche là dedans, je suis un peu paumée.

    merci,

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Points : 143
    Points
    143
    Par défaut
    Je pense que ce type d'erreur vient du fait que certaines parties éxecutables du code sont compilées plusieurs fois.

    Par exemple si tu met une fonction dans le header d'un fichier et que tu utilises ce header depuis un autre fichier, la fonction sera compilée deux fois, et le linker ne saura laquelle choisir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //unit1.h
    #ifndef UNIT1H
    #define UNIT1H
     
     
    // Devrait être dans l'implémentation (unit1.cpp)
    void fonction(double x) {
       return 0.12 *x + 12;
    }
     
    #endif
    Tous les fichiers qui auront auront cette portion de code compilée.

    Ton problème est peut-être un peu plus subtil mais la solution doit tourner autour de ça.

  3. #3
    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,
    Peut être fais-tu des liens statiques et non dynamiques ce qui aboutit à une duplication des fonctions entre les deux bibliothèques (wxbase28_vc8_custom et celle utilisant gllib_glcanvas) ?

Discussions similaires

  1. RunJasperReports : que signifie cette erreur ?
    Par clavier12AZQSWX dans le forum Général Java
    Réponses: 2
    Dernier message: 05/03/2010, 23h14
  2. Que signifie cette erreur
    Par BuzzLeclaire dans le forum Langage
    Réponses: 2
    Dernier message: 26/06/2009, 13h13
  3. Que signifie cette erreur de compilation ?
    Par Premium dans le forum C
    Réponses: 14
    Dernier message: 22/05/2006, 23h16
  4. [SQL-Server] 'Bad column offset' que signifie cette erreur ?
    Par dor_boucle dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 08/02/2006, 15h01
  5. [SQL][DERBY] Que signifie cette erreur ?
    Par irenee dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/12/2005, 14h34

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