Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3327 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [wxWindows] ça link pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[wxWindows] ça link pas

n°957593
BigBulle
Posté le 20-01-2005 à 16:33:31  profilanswer
 

Salut à tous :),
 
Voilà, j'ai commencé un projet en wxWindows et ça link pas... :(
Voici le message d'erreur que j'obtiens:
--------------------------------------------------------
Édition des liens en cours...
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) déjà défini(e) dans msvcprtd.lib(newop_s.obj)
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) déjà défini(e) dans MSVCRTD.lib(MSVCR71D.dll)
nafxcwd.lib(appcore.obj) : error LNK2001: symbole externe non résolu ___argv
nafxcwd.lib(appcore.obj) : error LNK2001: symbole externe non résolu ___argc
nafxcwd.lib(apphelp.obj) : error LNK2001: symbole externe non résolu __mbctype
nafxcwd.lib(filelist.obj) : error LNK2001: symbole externe non résolu __mbctype
nafxcwd.lib(viewedit.obj) : error LNK2019: symbole externe non résolu __mbctype référencé dans la fonction "protected: long __thiscall CEditView::OnFindReplaceCmd(unsigned int,long)" (?OnFindReplaceCmd@CEditView@@IAEJIJ@Z)
.\Debug/Tbl2T13wx.exe : fatal error LNK1120: 3 externes non résolus

-----------------------------------------------------
 
De quel côté dois-je chercher pour solutioner ces erreurs?
( :( fin de journée, j'en ai marre:(...j'devrais arrêter et relire le tout demain...d'un aut'côté j'passerais une meilleurs soirée si mon programme compile...enfin bon...:()
 
Un tout grand merci d'avance  ;) :)
 
A+


Message édité par BigBulle le 20-01-2005 à 16:38:48
mood
Publicité
Posté le 20-01-2005 à 16:33:31  profilanswer
 

n°957599
Lam's
Profil: bas.
Posté le 20-01-2005 à 16:39:55  profilanswer
 

Project - Properties
  C/C++
     Code Generation
        Run-time Library:  Multi-threaded DLL (pour la version release), ou Debug Multi-threaded DLL pour la version Debug.

n°957607
BigBulle
Posté le 20-01-2005 à 16:46:38  profilanswer
 

merci pour ta réponse éclaire ;)
 
J'ai bien activé cette option...
Je suis passé du VS6.0 au VS2003, dois-je recompiler toute les bibliothèque wxWindows?

n°957847
Lam's
Profil: bas.
Posté le 20-01-2005 à 20:58:37  profilanswer
 

Il vaut mieux :)

n°958225
BigBulle
Posté le 21-01-2005 à 09:00:37  profilanswer
 

ça n'a rien changé :(
C'est normal/grave si y a WINVER not defined au début de la compilation?

n°958227
Lam's
Profil: bas.
Posté le 21-01-2005 à 09:08:04  profilanswer
 

Euh, j'avais pas fait gaffe, mais c'est une lib des MFC qui pose problème. Tu t'en sers dans ton code ? Si c'est pas le cas, est-ce que l'option apparait dans les propriétés du projet ?

n°958255
BigBulle
Posté le 21-01-2005 à 10:19:18  profilanswer
 

Non j'ai désactivé les MFCs...
Par contre, j'ai défini des variables globales avec extern... je cherche dans cette direction pour l'instant.  
Ces variables sont des pointeurs vers des classes envoyant des exceptions. Ces exceptions sont faites maison et n'héritent d'aucune autre classe (donc pas de CException).D'autre part, certaines classes sont des classes template. Est-ce que ça pourrait poser des problèmes au niveau du linkage?
 
Mon problème c'est que je ne sais même pas à quoi servent afxmem.obj,newop_s.obj,appcore.obj,MSVCR71D.dll etc... j'suis perdu...
 
Un tout grand merci pour ton aide Lam's :)

n°958261
Lam's
Profil: bas.
Posté le 21-01-2005 à 10:24:38  profilanswer
 

Je doute fortement que ce soit un problème avec tes exceptions. Ce que je vois, c'est vraiment qu'une DLL des MFC est utilisée. Vérifie à nouveau tes options de compil (y compris les options de compil que tu as utilisé pour compiler wxWidgets et ses sous-projets).  
 
Et vérifies qu'à aucun moment tu n'inclues de "afxXXX.h" (y compris dans ton stdafx.h/.cpp si tu en as un).

n°958276
BigBulle
Posté le 21-01-2005 à 10:54:39  profilanswer
 

J'ai enlever toutes références à mes variables globales et maintenant ça compile...
 
Pour créer ces variables, j'ai créé un fichier globalvar.h dans lequel je les déclare toutes précédées de extern. J'inclue alors ce fichier dans tous les autres fichiers qui utilisent ces variables globales. Ensuite j'ai créé un fichier globalvar.cpp dans lequel j'instancie ces variables.
 
Y a t-il une énormité dans ma démarche?
 
Au moment de compiler le fichier globalvar.cpp il me met WINVER not defined. Defaulting to 0x0501 et uniquement pour celui-la... bizarre...

n°958289
BigBulle
Posté le 21-01-2005 à 11:12:55  profilanswer
 

Ok...j'ai trouvé...
A force de changer mes fichiers de place, le répertoire du projet ne contenait plus de stdafx.h et stdafx.cpp.
Le compilo allait alors les chercher dans un autre project... Ceci créait apparement l'erreur citée plus haut...
 
Un tout grand merci pour ton aide Lam's :)!!!
 
Au fait, à quoi servent exactement ces deux fichiers?
 

mood
Publicité
Posté le 21-01-2005 à 11:12:55  profilanswer
 

n°958297
Lam's
Profil: bas.
Posté le 21-01-2005 à 11:25:09  profilanswer
 

Pre-compiled headers.  
 
Tu inclues dans stdafx.h tous les "gros" header files qui changent rarement, et VC++ les pré-compileras (typiquement, tu y mets <string> et <vector>, ainsi que "wx/wx.h" ou "wx/wxall.h" ). De telle sorte que la compilation de tes fichiers sera beaucoup plus rapide.  
 
stdafx.cpp sert à contenir tout le code généré par ça...
 
En contrepartie, il te faut inclure stdafx.h en premier dans *tes fichiers cpp qui sont marqués comme utilisant les pre-compiled headers (ce qui est le cas par défaut pour tous les fichiers).
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [wxWindows] ça link pas

 

Sujets relatifs
JS link page dans la meme frame[[MS Visual C++ 6.0] Il ne link plus lors de la compilation [Résolu]
PB de LinkLink d'un module a86 avec tlink
compter le nombre de link clickerProblème de Link avec Qt 2.2.2
variable globale, problème de link[C++] Compilation et link de librairie statique avec une DLL (VC++)?
[VB][ADO] Erreur Data Link[Help]: Compilation de wxWindows 2.5.2
Plus de sujets relatifs à : [wxWindows] ça link pas


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)