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 :

wxWidgets 3.0.4 - erreur C3861 wxStrcoll indentificateur introuvable


Sujet :

wxWidgets

  1. #1
    Membre habitué

    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 193
    Points
    193
    Billets dans le blog
    3
    Par défaut wxWidgets 3.0.4 - erreur C3861 wxStrcoll indentificateur introuvable
    Bonjour, depuis quelque mois j'essai d’installer wxWidgets avec Visual Studio 2017. J'ai rechercher sur plusieurs sites et je compile moi-même les sources. J'utilise wxWidgets 3.0.4 (donc unicode obligatoire) et j'ai compilé les 2 cibles DLL en Debug et Release (win32 à chaques fois) et alors que jusqu'à maintenant j'obtenais un problème avec une lib, hier j'ai obtenu l'erreur suivante:


    Erreur C3861 'wxStrcoll' : identificateur introuvable f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h 487


    Je tiens à préciser que j'ai recherché sur des forums et avant d'avoir cette erreur j'ai effectué la configuration de cette adresse.


    Le code se compose de 2 fichiers (pour le moment) afin de tester cette lib (il provient d'un tutoriel dont on parle de la qualité bancale).
    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
    #pragma once
    
    #include <wx/wx.h>
    
    class MyApp : public wxApp {
    
        public:
            virtual bool OnInit();
    
    };
    
    
    DECLARE_APP(MyApp);
    
    //------------------------------//
    
    #include "myapp.h"
    
    IMPLEMENT_APP(MyApp);
    
    bool MyApp::OnInit() {
        wxMessageBox("Bienvenue sur wxWidgets !");
    
        return false;
    }
    


    j'ai aussi compilé les version lib (vc_lib) en 32 et 64b
    Merci infiniment pour vos réponses

    Edit: J'ai testé avec un autre code et cette fois j'ai deux fois cette même erreur

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Bonsoir.

    En regardant vite fait dans le fichier wxcrt.h ligne 487 on remarque que votre erreur vient du fait que vous n'avez pas activé l'unicode dans les options de votre projet. Il ne suffit pas de rajouter les bons répertoires dans les includes et les lib pour compiler une application wxWidgets. Il y a aussi toute une série de directive à renseigner dans les options du préprocesseur en fonction de votre configuration. Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WIN32
    _DEBUG
    _CRT_SECURE_NO_DEPRECATE=1
    _CRT_NON_CONFORMING_SWPRINTFS=1
    _SCL_SECURE_NO_WARNINGS=1
    __WXMSW__
    _UNICODE
    _WINDOWS
    NOPCH

  3. #3
    Membre habitué

    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 193
    Points
    193
    Billets dans le blog
    3
    Par défaut
    Merci je vais tester
    Edit:
    toujours dans la sortie
    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
     
    1>------ Début de la génération : Projet : Sfm, Configuration : Debug Win32 ------
    1>frame.cpp
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(487): error C3861: 'wxStrcoll' : identificateur introuvable
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(487): note: 'wxStrcoll' : la fonction n'a pas été déclarée dans le contexte de définition de modèle. Elle peut être trouvée uniquement via une recherche basée sur des arguments dans le contexte d'instanciation
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(496): note: voir la référence à l'instanciation de la fonction modèle 'int wxStrcoll_String<const wchar_t*>(const wxString &,const T &)' en cours de compilation
    1>        with
    1>        [
    1>            T=const wchar_t *
    1>        ]
    1>sfm.cpp
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(487): error C3861: 'wxStrcoll' : identificateur introuvable
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(487): note: 'wxStrcoll' : la fonction n'a pas été déclarée dans le contexte de définition de modèle. Elle peut être trouvée uniquement via une recherche basée sur des arguments dans le contexte d'instanciation
    1>f:\lib\wxwidgets-3.0.4\include\wx\wxcrt.h(496): note: voir la référence à l'instanciation de la fonction modèle 'int wxStrcoll_String<const wchar_t*>(const wxString &,const T &)' en cours de compilation
    1>        with
    1>        [
    1>            T=const wchar_t *
    1>        ]
    1>Génération de code en cours...
    1>Génération du projet "Sfm.vcxproj" terminée -- ÉCHEC.

  4. #4
    Membre habitué

    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 193
    Points
    193
    Billets dans le blog
    3
    Par défaut
    Je précise que je compile avec wxWidgets (unicode par défaut) avec le répertoice de lib supp. vc_lib et "wxmsw30ud_core.lib;wxbase30ud.lib" d'ajouté et comme répertoire d'include : "F:\lib\wxWidgets-3.0.4\lib\vc_lib\mswud;F:\lib\wxWidgets-3.0.4\include" sur Visual Studio 2017
    Merci

    EDIT/ j'ai peut-être trouvé l'erreur, je reviens

  5. #5
    Membre habitué

    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2013
    Messages : 57
    Points : 193
    Points
    193
    Billets dans le blog
    3
    Par défaut
    En fait j'utilise le code de l'exemple minimal.cpp que j'ai modifié afin qu'il soit dans plusieurs fichiers (accessible ici)

Discussions similaires

  1. erreur c3861 createfilew identificateur inconnue
    Par jeykira dans le forum C++
    Réponses: 6
    Dernier message: 01/02/2012, 20h56
  2. Réponses: 1
    Dernier message: 24/05/2008, 10h06
  3. [WxWidgets] installation code:blocks erreur au make
    Par grabriel dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 17/04/2008, 18h10
  4. Réponses: 3
    Dernier message: 07/06/2006, 16h45
  5. [VB6] Message d'erreur: Projet ou bibliotheque introuvable
    Par bvi67 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 20/05/2006, 12h00

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