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

Dev-C++ Discussion :

[Error C3861] '_strdup': identifier not found


Sujet :

Dev-C++

  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 [Error C3861] '_strdup': identifier not found
    Bonjour,

    j'ai ce message à la compilation d'un projet en C++, sous wxdevC++, avec le compilo visual C++ 2005.

    Voila ou j'en suis dans ma réflexion, mes recherches google s'étant révélées infructueuses jusqu'ici :

    - je ne comprends pas ce que c'est que '_strdup',

    - le blocage se produit dans buffer.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEFINE_BUFFER(wxCharBuffer, char, wxStrdupA);
    et il inclue ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifndef _WX_BUFFER_H
    #define _WX_BUFFER_H
     
    #include "wx/wxchar.h"
     
    #include <stdlib.h>             // malloc() and free()

    - lorsque je cherche dans wxchar.h (qui je suppose est correctement inclus, quoique ... ) , je trouve ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    /* Almost all compiler have strdup(), but not quite all: CodeWarrior under Mac */
    /* and VC++ for Windows CE don't provide it */
    #if defined(__VISUALC__) && __VISUALC__ >= 1400
        #define wxStrdupA _strdup
    #elif !(defined(__MWERKS__) && defined(__WXMAC__)) && !defined(__WXWINCE__)
        /* use #define, not inline wrapper, as it is tested with #ifndef below */
        #define wxStrdupA strdup
    #endif
    Auriez vous des pistes de recherche pour résoudre ce petit problème (je redémarre la prog, je suis rouillé, j'avoue ...)

    merci !

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Attends, tu compiles sous Dev-C++ avec le compilo de Visual?

    Je ne pense pas que WxWidgets soit prévu pour ça...

    strdup() est une fonction non-standard C, mais POSIX.
    Visual 2005 n'aime pas qu'on appelle la fonction par ce nom-là, donc il utilise _strdup() à la place.

    Le problème, c'est que toi, tu mélanges Visual et le reste, résultat ta lib cherche _strdup() alors qu'elle devrait chercher strdup()!

    Enfin, dans le pire des cas, tu dois pouvoir contourner le problème ainsi:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    #define _strdup strdup
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    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
    Oui c'est pas très pratique effectivement, mais je n'ai pas le choix, je travaille sur une api de logicile qui a besoin de visual, et l'interface a été démarrée avec wxdevC++ par d'autres, et je ne compte pas tout refaire (quoi que parfois on y gagnerait j'en conviens).

    En tout cas merci pour l'éclairage, j'ai pu trouver la bonne config pour les bibliothèques, donc ce problème là est résolu.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    api de logicile qui a besoin de visual
    Peux-tu développer?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    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
    Citation Envoyé par Médinoc Voir le message
    Je ne pense pas que WxWidgets soit prévu pour ça...
    Aucun problème à condition d'avoir compiler WxWidgets pour Visual (cf ici).
    Sinon, j'avais pas vu que c'était un multipost car la réponse est ici.

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

Discussions similaires

  1. error C3861 identifier not found
    Par h4ever dans le forum Débuter
    Réponses: 9
    Dernier message: 05/05/2014, 16h45
  2. Réponses: 9
    Dernier message: 12/01/2011, 12h18
  3. [Error C3861] '_strdup': identifier not found
    Par stilgar_karas dans le forum wxWidgets
    Réponses: 2
    Dernier message: 25/11/2009, 16h46
  4. Réponses: 2
    Dernier message: 07/05/2009, 11h38
  5. pb assert : identifier not found
    Par FamiDoo dans le forum C++
    Réponses: 10
    Dernier message: 21/06/2006, 17h05

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