Compilation DLL, manque fichier .lib

cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 25 déc. 2003 à 12:13
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 25 déc. 2003 à 23:29
Bonjour a tous et joyeux noel !!!
Voila j'ai un problème, lorsque que je compile ma dll tout va bien sauf que VC++, ne me génére pas le fichier .lib, pourriez-vous m'aider?
Merci par avance...
Bob...

"La chance accorde ses faveur aux esprits avertis..."

22 réponses

D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
25 déc. 2003 à 13:03
hmmm, quel est le type du projet que tu as créer? tu as choisi Dynamic Link library je suppose... si c'est ça je vois pas le pb, le .dll est créer? il y a un .exp? ces trois extensions sont créée automatiquement si tu choisi ce type de projet mais je ne vois pas pourquoi le .lib n'est pas créé...

JOYEUX NOEL ;)

[DmX]
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 20:05
merci joyeux noel a toi ossi...
mais j'aimerais bien savoir pourquoi je n'est pas ce fichier .lib a la compilation...
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
25 déc. 2003 à 20:07
et moi j'aimerais bien t'aider =) mais la je vois pas ce que ça peut être, probablement une faute dans la configuration du compilateur ou bien carément un problème avec le compilateur.. :s

[DmX]
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 20:15
pourtant j'utilise VC++...
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
25 déc. 2003 à 21:16
Peut etre que le lib ne se creer que si tu appeles des fonctions externes? tu en a faites?
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 21:26
Ecoute le vocabulaire de programmation et moi ca fait bcp tu pourrais pas expliquer ce ke tu appelles fonctions externes?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
25 déc. 2003 à 21:35
extern "C" __declspec(dllexport) void Main(void);
par exemple et heu.. je crois pas que c'est du vocabulaire précis qui existe que j'ai employé ^^
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 21:38
il me semble, mais en fait c bizar... en fait c'est une DLL que j'ai retouché pour mes besoins et y a ca, est ce que ca dont tu parles:
extern "C" int __stdcall Intercepte()
{
...
}

Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 déc. 2003 à 21:46
Salut,
A mon avis c'est ca, tu n'a pas exporté de fonctions, donc aucun fichier lib n'a été créé.
Pour exporter une fonction (ie permetre a un programe externe de l'utiliser) il faut rajouter __declspec(dllexport).

extern "C" __declspec(dllexport) int __stdcall Intercepte()
{
...
}
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 21:56
est ce que ma facon d'utiliser ma dll dans le programme va changer?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 21:59
effectivement maintenant que j'ai rajouté ce que tu a dit a mes deux fonctions définit comme celle que j'ai marqué, le compilateur ma créé le fichier .lib, mais pourquoi vu que j'ai pas changer grand chose dans ma DLL que j'ai juste modifié quelque truc que le gars avait fait, pkoi lui il a eu la LIB et pas moi?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
25 déc. 2003 à 22:02
C'est simple la lib sert a donner au programme principale les fonctions qu'il sera susceptible d'utiliser or si tu n'en declare aucune externe ta dll n'aura aucun contact .. donc aucune lib n'est nécessaire vu que ta dll servira a rien ^^
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 déc. 2003 à 22:22
Salut,
Il y a une autre maniere d'exporter les fonctions d'une dll, c'est avec un fichier .def . Ce fichier contient les noms de fonctions de la dll a exporter.
Dans le projet de la dll que tu as téléchargé et modifié, il doit y en avoir un.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 22:24
non c bon merci, j'ai fait ce MoDDiB m'a dit et ca marche... merci pour votre aide... et bonne fete a vous...
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 déc. 2003 à 22:31
Salut,
L'histoire du fichier .def, c'etait pour répondre a ta question: "pkoi lui il a eu la LIB et pas moi?"
A mon avis, parce que lui il avait un fichier .def et pas toi.

Bonnes fetes a toi aussi.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 22:48
donc il a renomé le .def en .lib pour avoir le fichier .lib?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 déc. 2003 à 22:52
Salut,
Non.
A ma connaissance il existe 2 facons d'exporter des fonctions d'une dll:
- soit tu met __declspec(dllexport) devant chaque fonction que tu veux exporter,
- soit tu crée un fichier .def et tu y met le nom des fonctions que tu veux exporter.

Les deux solutions sont équivalentes, puisque a la fin tu obtient une dll et son fichier lib.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 23:06
moi aussi je l'avait le fichier .def, comment obtenir alors le fichier .lib a partir de ce fichier?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
25 déc. 2003 à 23:09
Salut,
Normalement tu l'ajoutes à ton projet et tu compiles, tout simplement.
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
25 déc. 2003 à 23:13
Et au fait j'ai une question pour le tableau de HANDLE. Voila ma fonction:

HWND tab[20];
int i = 0;

BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
if(IsWindowVisible(hwnd))
{
tab[i] = hwnd;
                                i++;
}

return TRUE;
}

...

for(j=0; j<=i;j++)
 ShowWindow(tab[j], SW_MINIMIZE);


ca marcherait ca?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
Rejoignez-nous