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, VC++ 6: problème de compilation


Sujet :

wxWidgets

  1. #1
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut wxwidgets, VC++ 6: problème de compilation
    Bonjour,

    Je n'ai jamais utilisé wxWidgets, et je souhaite essayer. J'utilise MS Visual C++ 6.

    J'ai donc téléchargé wxWidget sur le site officiel. Puis il faut le compiler: J'ai ouvert le projet ...\build\msw\wx.dsw dans VC++ comme conseillé dans le fichier install.txt contenu à la racine de l'archive.

    La il y a plein de "sous-projets" (adv files, base files, core files, dbgrid files... xrc files) et plein de type de compilation différentes (win32 debug, win32 unicode debug, win32 DLL debug, ... et idem en release)

    J'ai lancé un batch build qui lance toutes les compilations possibles. Il y en a pas mal qui marchent pas. Notamment, si je lance une compil' "win32 universal Debug" sur le projet "core files", il y a une erreur:
    error C2562: 'DoClientToScreen' : 'void' function returning a value
    et le code correspondant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #if wxABI_VERSION >= 20603
    void wxGenericListCtrl::DoClientToScreen( int *x, int *y ) const
    {
        return m_mainWin->DoClientToScreen(x, y);
    }
     
    void wxGenericListCtrl::DoScreenToClient( int *x, int *y ) const
    {
        return m_mainWin->DoScreenToClient(x, y);
    }
    #endif // 2.6.3
    Bref, si j'ai bien compris, j'ai pas besoin de tout tout tout compiler (du moins dans un premier temps. Pour commencer, je peux compiler en statique et ne pas utiliser de DLL. Je suppose du coup que compiler uniquement win32 Debug et win32 release ça devrait suffire. Je me trompe?

    Alors comme les compilations win32 debug et win32 release fonctionnent avec tous les sous-projets, je me suis dit que c'était bon.

    J'ai donc crée un nouveau projet. Je voulais faire le hello world décrit ici:
    http://www.wxwidgets.org/docs/tutorials/hello.htm
    Et j'ai commencé par crée mon projet sur MSVC++ 6 en suivant pas à pas les explications ici:
    http://www.wxwidgets.org/docs/technote/vc_ide.htm

    Et ça compile! Mais ça link pas l'erreur:
    LINK : fatal error LNK1104: cannot open file "wxmswd.lib"
    J'ai fait une recherche de wxmswd dans mon dossier wxWidgets, et effectivement cette lib n'existe pas.

    J'ai retiré une à une les lib des "library modules" de mon projet en espérant qu'elles n'étaient pas toutes requise pour un simple "hello world" mais ça ne marche pas...

    Je suis complétement perdu. des suggestions?
    Merci de votre aide

  2. #2
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    ça fonctionne:

    des explications de ce site:
    http://www.wxwidgets.org/docs/technote/vc_ide.htm

    j'ai enlevé des "object/library modules" certaines lib
    (wxmswd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib)

    et j'ai changé le "additionnal library path":
    de
    C:\wxWidgets-2.6.3\lib\
    en
    C:\wxWidgets-2.6.3\lib\vc_lib

    Et ça marche

    Mais je ne mets pas encore résolu puisqu'il y a toujours des erreurs à la compilation de wxwidgets (si je fait du win32 universal debug par exemple)

    si quelqu'un a une info sur le sujet...

  3. #3
    Membre régulier Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Points : 109
    Points
    109
    Par défaut
    Salut à toi,

    j'avais moi aussi suivi les explications données sur cette page et qui semblent marcher à priori.

    Toutefois je te déconseille vivement (comme, il me semble le site officiel mais je ne sais plus trop où) d'utiliser wxmsw(d).lib en effet, cette librairie est généré grâce à un projet nommé wxWindows.dsw qu'il n'est pas conseillé d'utiliser (d'ailleurs je ne comprend pas ce qu'il fait là, pe-être compatibilité antérieur)

    J'ai obtenu des fuites mémoires, et des crashs aléatoires (tout du moins il m'étais impossible de les reproduire) en utilisant cette librairie.

    Le mieux pour ton projet est, je pense, que tu utilises le projet fourni dans le repertoire build/msw qui s'appelle wx.dsw

    Tu compile les projets qui t'intéressent (à priori wxBase, wxCore, png, zlib, jpeg et tiff devraient suffirent)



    Les .lib à utiliser lors de l'édition de liens de ton projet son
    wxbase26(d).lib, wxmsw26(d)_core.lib, wxpng(d).lin, wxjpeg(d).lib, wxzlib(d).lib et wxtiff(d).lib

  4. #4
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    Hello,

    merci pour ces précisions.

    J'utilise en effet wx.dsw. Selon le site, wxwindows est en effet toujours présent pour des raisons de compatibilité avec les verisons antérieures.

    Simplement, en suivant pas à pas les conseils pour l'édition du projet, j'ai suivi des conseils qui dataient de wxwindows je pense... d'ou le include de wxmsw(d).lib

    j'ai essayé avec ta proposition:
    wxbase26(d).lib, wxmsw26(d)_core.lib, wxpng(d).lin, wxjpeg(d).lib, wxzlib(d).lib et wxtiff(d).lib

    Et ça marche a merveille.
    merci!

  5. #5
    Membre régulier Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Points : 109
    Points
    109
    Par défaut
    Impecable


    (du coup un petit serait le bienvenu )

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

Discussions similaires

  1. Problème de compilation projet wxwidget sous Code::block
    Par Benoit_T dans le forum wxWidgets
    Réponses: 1
    Dernier message: 17/02/2011, 14h56
  2. Problème de compilation de wxWidget
    Par __manu__ dans le forum wxWidgets
    Réponses: 3
    Dernier message: 27/08/2009, 15h29
  3. Problème de compilation wxwidgets sous Linux
    Par Zoloom dans le forum wxWidgets
    Réponses: 0
    Dernier message: 12/05/2008, 01h50
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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