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 récurrente à la compilation d'exemples simples


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut erreur récurrente à la compilation d'exemples simples
    Bonjour,

    Ce forum est réservé aux utilisateurs de wxWidgets sous linux, mais faute de forum similaire sous windows, je me permets de poster mon message ici.

    Tous les programmes que je tente de compiler pour tester wxWidgets me renvoient les mêmes erreurs. Je précise que je me suis déjà tourné vers le forum de wxDev.fr (lien du post ici) qui me semblait plus adapté mais en l'absence de solution j'essaie sur développez.com.

    Je travaille sous XP avec CodeBlocks et MinGW. Après l'installation et la compilation de wxWidgets à l'aide d'un tutoriel de wxDev.fr et du wiki de CodeBlocks, j'ai testé plusieurs programmes basiques (par exemple celui-ci). Mais à chaque fois j'ai ce message d'erreur :
    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
     
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In constructor `wxCharBuffer::wxCharBuffer(const char*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|127|error: `strdup' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In member function `wxCharBuffer& wxCharBuffer::operator=(const char*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|127|error: `strdup' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In constructor `wxWCharBuffer::wxWCharBuffer(const wchar_t*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|134|error: `_wcsdup' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h||In member function `wxWCharBuffer& wxWCharBuffer::operator=(const wchar_t*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\buffer.h|134|error: `_wcsdup' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\string.h||In function `int Stricmp(const char*, const char*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\string.h|141|error: `strcasecmp' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\list.h||In constructor `wxListKey::wxListKey(const wxChar*)':|
    E:\developpement\CodeBlocks\wx287\include\wx\list.h|406|error: `_wcsdup' was not declared in this scope|
    E:\developpement\CodeBlocks\wx287\include\wx\list.h||In constructor `wxListKey::wxListKey(const wxString&)':|
    E:\developpement\CodeBlocks\wx287\include\wx\list.h|408|error: `_wcsdup' was not declared in this scope|
    ||=== Build finished: 7 errors, 0 warnings ===|
    Pourtant en cherchant dans les fichiers d'en-tête, je vois que ces fonctions sont bien visibles à ce niveau de portée.

    Lorsque j'utilise le compilateur de Microsoft, le problème disparaît. Mais impossible avec MinGW. Et je n'ai jamais eu de problème auparavant avec des programmes en mode console ou sous GTK.

    Voici un petit programme d'exemple qui provoque l'erreur, sous forme de projet CodeBlocks. Quelqu'un l'a essayé sur wxDev.fr et cela compile très bien chez lui.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include "wx/wx.h"	// provoque les erreurs
    #include <iostream>
     
    int main ()
    {
        std::cout << "Hello world !"<< std::endl;
        return 0;
    }
    le même programme en projet CodeBlocks : WxHelloWorld.rar

    Alors voilà, est-ce que quelqu'un a une idée sur l'origine du problème ?

  2. #2
    Membre Expert
    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 : 46
    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
    Par défaut
    Si tu ajoutes


    En debug ajout en plus de:
    Au niveau des "Preprocessor Definitions" ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Merci pour ta proposition Ti-R mais ces définitions sont biens présentes dans mon projet.

    Le projet a compilé sans erreur chez quelqu'un d'autre ce qui me laisse supposer que le souci vient de mon système. J'ai donc réinstallé CodeBlocks, MinGW et wxWidgets, après avoir récupéré les dernières mises à jour mais rien n'y fait.

    Un conflit de chemin entre CodeBlocks et MinGW m'a été évoqué, alors j'ai réinstallé MinGW dans des répertoires différents (sans espace, racine, autre lecteur...). Sans succès.

  4. #4
    Membre Expert
    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 : 46
    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
    Par défaut
    Tu as bien vérifé les "Global Path" dans "Panneau de configuration -> système" ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Oui, mes variables d'environnement sont à jour. La variable "path" contient le chemin des binaires de MinGW.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Ca y est, ça compile ! Mes options de compilations ne convenaient pas. Les fonctions qui posaient problème sont des fonctions non-ANSI et les options -ansi et -pedantic étaient activées.

    Je sais ce qu'il me reste à faire : me documenter un peu plus sur gcc et ses options.

    Merci à Ti-R de s'être intéressé à mon problème.

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

Discussions similaires

  1. Servlet Exception erreur sur un exemple simple
    Par PiKo888 dans le forum Hibernate
    Réponses: 4
    Dernier message: 08/12/2008, 12h09
  2. [MPIF90] Compilation d'un exemple simple
    Par piploum dans le forum Fortran
    Réponses: 2
    Dernier message: 22/04/2008, 14h48
  3. Erreurs à la compilation
    Par Code source dans le forum GLUT
    Réponses: 11
    Dernier message: 02/05/2004, 19h33
  4. Erreur récurrente (namespace)
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 3
    Dernier message: 25/02/2003, 10h27
  5. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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