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

  FORUM HardWare.fr
  Programmation
  C++

  MFC + librairie static maison ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MFC + librairie static maison ...

n°237111
filou66
prend mes poils ...
Posté le 30-10-2002 à 10:35:47  profilanswer
 

J'ai besoin de développer 2 exe différents qui auront des classes communes. J'ai donc choisi de créer un .lib avec ces classes. Jusque là pas de pb.  
Mais quand dans le projet de mon exe je modifie le project setting pour rajouter mon .lib dans l'onglet "Link", je ne peut plus compiler mon projet !! Il me met des erreurs de linkage (125 !) en me disant que pleins de trucs sont déjà définis !
 
Si quelqu'un à déjà eu ce pb, comment l'a-t-il résolu ?
 
merci d'avance pour votre aide  :hello:

mood
Publicité
Posté le 30-10-2002 à 10:35:47  profilanswer
 

n°237147
western
AJMM
Posté le 30-10-2002 à 11:19:19  profilanswer
 

faire du C sous Windows ... chacun est malade à sa façon...
Pour ton problème: une librairie n'est pas juste un fichier compilé mais un fichier compilé et assemblé et pour cela il faut passer des paramètres spéciaux à ton compilateur et à savoir si ton compilateur les supporte ...

n°237150
filou66
prend mes poils ...
Posté le 30-10-2002 à 11:21:23  profilanswer
 

C'est du C++ sous visual...

n°237154
western
AJMM
Posté le 30-10-2002 à 11:27:15  profilanswer
 

Visual j'ai du utilisé une fois, le jour où j'avais rien à faire donc là, je ne peux pas t'aider

n°237158
western
AJMM
Posté le 30-10-2002 à 11:30:05  profilanswer
 

Cependant, en théorie:
supposons que ta lib a pou nom bidule!
donc t'as bidule.cc (ou bidule.cpp, etc.)ET bidule.h
tu compile bidule.cc -> bidule.o
dans tes progs
#include <bidule.h>
 
et à la compilation, tu dois ajouter le bidule.o
mais comment je ne sais pas ...
(c'est tellement plus simple avec gcc ;-)

n°237167
filou66
prend mes poils ...
Posté le 30-10-2002 à 11:38:54  profilanswer
 

Dans la lib il y a plein de .h et .cpp ...
 
la compil me donne un .lib et c'est tout.
 
Dans visual il suffit de mettre un lien vers ce .lib dans le project setting.
 
Mais je ne vois pas quel .h inclure ...

n°237700
LeGreg
Posté le 31-10-2002 à 05:17:41  profilanswer
 

tu n'aurais pas laisse les fonctions de ton projet lib dans ton projet executable par hasard??
 
Sinon un .lib c'est comme un .obj en plus gros
tu peux donc te contenter du .h qui contient les prototypes
des fonctions et les definitions de tes classes.
(ainsi que les declarations extern de tes variables globales)
 
A+
LeGreg

n°237710
HelloWorld
Salut tout le monde!
Posté le 31-10-2002 à 07:34:39  profilanswer
 

Citation :

faire du C sous Windows ... chacun est malade à sa façon...


 
Evites ce genre de propos, surtout si tu n'as bossé qu'une fois le jour où t'avais rien à faire, ça a tendance à vite pourrir un post.
 

Citation :

Cependant, en théorie:  
supposons que ta lib a pou nom bidule!  
donc t'as bidule.cc (ou bidule.cpp, etc.)ET bidule.h  
tu compile bidule.cc -> bidule.o  
dans tes progs  
#include <bidule.h>  
 
et à la compilation, tu dois ajouter le bidule.o  
mais comment je ne sais pas ...  
(c'est tellement plus simple avec gcc ;-)


 
Là tu parles d'un fichier objet. VC++ gère ça très bien à ta place et se débrouille tout seul. (Plus simple que cliquer sur un bouton "compiler" je vois pas ... ah si peux être : apprendre une chiée de paramètres dans un man et se créer un makefile)
 
filou66> s'il te dit que des objets sont déjà définis ... c'est que tu définis au moins 2 fois un même objet.
Tu as bien viré le .cpp de ta lib de ton projet ? Et ton .h ne contient que des _déclarations_ et pas de _définition_ ?


Message édité par HelloWorld le 31-10-2002 à 07:35:46

---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°238839
filou66
prend mes poils ...
Posté le 03-11-2002 à 16:27:59  profilanswer
 

HelloWorld a écrit a écrit :

Citation :

faire du C sous Windows ... chacun est malade à sa façon...


 
Evites ce genre de propos, surtout si tu n'as bossé qu'une fois le jour où t'avais rien à faire, ça a tendance à vite pourrir un post.
 

Citation :

Cependant, en théorie:  
supposons que ta lib a pou nom bidule!  
donc t'as bidule.cc (ou bidule.cpp, etc.)ET bidule.h  
tu compile bidule.cc -> bidule.o  
dans tes progs  
#include <bidule.h>  
 
et à la compilation, tu dois ajouter le bidule.o  
mais comment je ne sais pas ...  
(c'est tellement plus simple avec gcc ;-)


 
Là tu parles d'un fichier objet. VC++ gère ça très bien à ta place et se débrouille tout seul. (Plus simple que cliquer sur un bouton "compiler" je vois pas ... ah si peux être : apprendre une chiée de paramètres dans un man et se créer un makefile)
 
filou66> s'il te dit que des objets sont déjà définis ... c'est que tu définis au moins 2 fois un même objet.
Tu as bien viré le .cpp de ta lib de ton projet ? Et ton .h ne contient que des _déclarations_ et pas de _définition_ ?




 
ben oui...
J'ai l'impression que le problème vien de mes includes ...
Dans le projet j'inclus les afxwin.h, afxext.h, etc ... et dans la lib, j'inclus afx.h ... (le projet utilise les MFC mais pas la lib). Il y a peut-être des recoupement entre afx.h et les afx*.h ...  :??:  

n°238861
chrisbk
-
Posté le 03-11-2002 à 17:16:07  profilanswer
 

heuh, dans ta lib, tu as bien coché 'use MFC' ? idem dans tes exe ?

mood
Publicité
Posté le 03-11-2002 à 17:16:07  profilanswer
 

n°239090
filou66
prend mes poils ...
Posté le 04-11-2002 à 09:59:30  profilanswer
 

oui c'est coché ;)

n°239157
botman
Cubeur
Posté le 04-11-2002 à 12:20:16  profilanswer
 

tu recompiles pas tes classes communes dans tes deux projets quand meme :??:


---------------
"OCPLB : On Casse Pas Le Binôme, 'moiselle Jade, Carlson & Peters, page 823 !"
n°239183
filou66
prend mes poils ...
Posté le 04-11-2002 à 13:33:30  profilanswer
 

bien sûr que non  :sarcastic:

n°239413
LeGreg
Posté le 04-11-2002 à 19:41:02  profilanswer
 

c'est quoi le nom des trucs deja definis?
 
LeGreg

n°239628
Musaran
Cerveaulté
Posté le 05-11-2002 à 00:03:01  profilanswer
 

Montre un peu le contenu de tes headers.
 
Je parie ma chemise (j'en mets pas :) ) qu'il contiennent des objets générant du code.
 
Plus simple: inclus-les deux fois dans ton projet "classe".
Si les mêmes erreurs surviennent...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

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

  MFC + librairie static maison ...

 

Sujets relatifs
Dll et MFCCherche librairie pour assistance à la création d'images
MFC : positionner une fenetre en cascade par rapport à la précédentelibrairie d'informatique
Librairie pour conio.h sous visual c++Visual C++/MFC : comment inserer une view dans un projet monoframe ?
MFC Visual C++blem chelou avec SendMessage MFC
[MFC] comment ouvrir une base access 2000 ?[MFC] Utilisation de la touche TAB dans un RichEdit
Plus de sujets relatifs à : MFC + librairie static maison ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR