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

MFC Discussion :

Créer projet wxWidgets avec VC++6 et le template wxWinWizard


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut Créer projet wxWidgets avec VC++6 et le template wxWinWizard
    Bonjour,

    Je dois développer une application utilisation wxWidgets avec VC++6, avec pour impératif de pouvoir utiliser ce projet sous Linux et MAC OSX (mais là c'est un problème de makefile).

    J'ai trouvé wxWinWizard, qui me permet de créer un squelette d'application.

    Le template est accessible dans l'onglet projet, et lorsque je crée une appli vide (empty project), ça marche (heureusement), mais lorsque je crée une application 'frame based application' ou 'dialog based application', les fichiers sont générés mais ça ne compile pas.

    Dans le cas de la 'frame based application', j'ai ce message d'erreur :
    CVTRES : fatal error CVT1100: duplicate resource -- type:24, name:1, language:0x040c
    .\Debug\wxwinwiz_test2.res : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    Dans le cas de la 'dialog based application', j'ai ce message d'erreur :
    wxwinwiz_test3Dlg.cpp
    C:\utprog\wxvcpp6\wxwinwiz_test3\wxwinwiz_test3Dlg.cpp(53) : error C2440: 'static_cast' : cannot convert from 'void (__thiscall wxwinwiz_test3Dialog::*)(class wxCommandEvent &)' to 'void (__thiscall wxEvtHandler::*)(class wxCloseEvent &)'
    Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
    Pouvez-vous m'aider à résoudre ces erreurs car je ne vais pas pouvoir allez bien loin sinon.

    D'avance merci.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    regarde si il n'y a pas un probleme sur le fichier ressource (et resource.h)
    que les identifiants sont bien unique.

    pour le 2 c'est un probleme de génération :
    ton code fait un static_cast alors qu'il faudrait reinterpret_cast.


  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Le fichier ressource est correct (il était situé dans les fichiers sources, je l'ai déplacé dans les fichiers de ressources), chaque élément de ce fichier est bien valide. Bizarre que cela ne fonctionne pas alors que ces fichiers sont générés par défaut.

    un static_cast alors qu'il faudrait reinterpret_cast
    Peux-tu m'indiquer comment le faire, ce cast "violent" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    BEGIN_EVENT_TABLE(wxwinwiz_test3Dialog, wxDialog)
        EVT_BUTTON(Minimal_Quit,  wxwinwiz_test3Dialog::OnQuit)
        EVT_BUTTON(Minimal_About, wxwinwiz_test3Dialog::OnAbout)
        EVT_CLOSE(wxwinwiz_test3Dialog::OnQuit) /* ajouter reinterpret_cast !! */
    END_EVENT_TABLE()

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    il faut que tu regardes la signature de ta fonction :
    wxwinwiz_test3Dialog::OnQuit
    elle ne doit pas etre conforme a ce qui est demandé ...
    voir la doc pour savoir ce qui est attendu .

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Dans le header de la classe wxwinwiz_test3Dialog, j'ai cela : void OnQuit(wxCommandEvent& event);

    et dans le fichier wx/event.h, j'ai cela :
    #define EVT_CLOSE(func) wx__DECLARE_EVT0(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(func))

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    c'est surtout le OnQuit qu'il faut regarder ,
    tu n'as un exemple d'un projet qui fonctionne pour regarder la signature?

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 79
    Points : 60
    Points
    60
    Par défaut
    Malheureusement non, j'ai mis en commentaire cette ligne, je laisse ça de côté...

    Par contre, pour cet exemple comme pour l'autre, je me retrouve toujours avec cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CVTRES : fatal error CVT1100: duplicate resource -- type:24, name:1, language:0x040c
    .\Debug\wxwinwiz_test2.res : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt


    En fait je ne comprends pas pourquoi il essaie de créer ce fichier .res dans le dossier Debug alors que mon projet a déjà un fichier .rc.

Discussions similaires

  1. Créer un projet xcode avec le code source d'un projet (the gimp)
    Par Battant dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 15/07/2012, 21h07
  2. Comment créer une setup avec setup projet vs2008
    Par dalilnet dans le forum Visual Studio
    Réponses: 1
    Dernier message: 18/09/2008, 11h41
  3. créer une projet mobile avec netebans
    Par dalilnet dans le forum Java ME
    Réponses: 0
    Dernier message: 31/07/2008, 12h54
  4. Créer un projet a partir d'un projet existant avec eclipse
    Par khaled69100 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/01/2008, 12h24
  5. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 16h22

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