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

 


Dernière réponse
Sujet : arghh sacré dll !!
weblook$

deathsharp a écrit a écrit :

ta les propriete du projet tu a indique le nom du lib?
suffit pas de le mettre dans le repertoire...  




 
bien vu ,c'était bien ça.merci beaucoup


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
weblook$

deathsharp a écrit a écrit :

ta les propriete du projet tu a indique le nom du lib?
suffit pas de le mettre dans le repertoire...  




 
bien vu ,c'était bien ça.merci beaucoup

deathsharp ta les propriete du projet tu a indique le nom du lib?
suffit pas de le mettre dans le repertoire...
weblook$ j'ai plus le temp je retest ça ce soir.
Merci à tous :jap:
godbout il ne faut pas oublier d'inclure le *.h ou sont definies les fonctions dans le cas ou on utilise un lib
seblamb Le .lib sert uniquement dans l'exe qui va utiliser la dll.
Il y a 2 façons pour un EXE de charger une dll :
 soit on laisse windows le faire tout seul et il faut mettre le .lib dans le projet de l'executable.
 soit on le fait par programmation ( Loadlibrary ...) et on a pas besoin du .lib.
chrisbk

weblook$ a écrit a écrit :

 
 
ça voudrais dire que l'on a pas besoin des deux en même temp???  




 
si si, la lib comme g dit te fais juste un petit bout du boulot a ta place, mais ne remplace pas ta DLL

weblook$

antp a écrit a écrit :

oui mais le .lib il est compilé dans le exe, non ?
alors que la dll elle peut etre appelé par le exe à son démarrage ou au moment où on en a besoin.  




 
ça voudrais dire que l'on a pas besoin des deux en même temp???

godbout #ifdef BLABLA
#define BLABLA __declspec(dllexport)  
#else
#define BLABLA __declspec(dllimport)  
#endif
 
dans ta dll tu definis BLABLA
dans ton exe nan
Comme ca le pb des dllexport et dllimport ne se pose plus.
Devant les fonctions a exporter/importer tu fais juste un  
extern "C" BLABLA int fonction(int,int);
weblook$ je vois pas trés bien en quoi ça pourrait me servir de mettre des #ifdef tu peux préciser STP??? j'ai essayer mais sans reussite .
 
par ailleur tu me confirme que l'appel de ma fonction est bien correct j'ai pas de truc à mettre devant pour pouvoir m'en servir????  
genre:__dll..truc nb=fonction(5,4)
antp oui mais le .lib il est compilé dans le exe, non ?
alors que la dll elle peut etre appelé par le exe à son démarrage ou au moment où on en a besoin.
chrisbk 1/ truc qui me parait pas clair :
 
extern "C" __declspec(dllexport) int fonction(int,int);  
 
ca, ca m'a l'air OK quand tu compiles ta DLL, par contre pour le prog ce serait plutot ;
 
extern "C" __declspec(dllimport) int fonction(int,int);  
 
(donc regle ca a coup de #ifdef ....)
 
 
2/le .lib te sert a ne pas avoir a faire les LoadLibrary, GetProcAdress et tout ca....
weblook$ je creer sous visual project new dll , simple project
dans le def.cpp
 
je met:
  extern "C" __declspec(dllexport) int fonction(int,int);
 
puis la declaration:
 
 int fonction(int iNombre1, int iNombre2)
 {
  return ( ( iNombre1 < iNombre2 )? iNombre1 : iNombre2);
 }
 
 
je creer un autre projet pour essayer d'appeler 'fonction'
 
dans le .cpp ou je veux avoir accés à ma fonction je mets:
  extern "C" __declspec(dllimport) int fonction(int,int);
 
je copie le .lib dans mon projet et le .dll dans le dossier debug de mon projet
 
 
A la compile j'obtiens une erreur de linkage:
 error LNK2001: unresolved external symbol __imp__Minimum
 
 
1-pourquoi???
 
2-par ailleurs je ne vois pas trés bien à quoi corresponde le .lib et le .dll(je m'attender   à n'avoir q'un simple .dll????)
 
 
Merci d'avance à celui qui sera apporter des réponses à mes questions

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