Problème simple sur les DLL

phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012 - 17 févr. 2006 à 10:23
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 - 17 févr. 2006 à 14:37
salut,

voila, je suis débutant en création de DLL et je n'y arrive pas.
J'utilise DevCPP

J'ai créé un projet PROJET1.DEV, dedans j'ai un fichier "Def.h" qui contient:

#include "windows.c"

#define export __declspec (dllexport)

export void __stdcall HelloWorld(void );

et un autre nommé "windows.c" contenant:

#include "Def.h"

void __stdcall HelloWorld(void )
{
MessageBox(NULL,"Hello !","Message",MB_OK);
}

A la compilation, j'ai le message:
[LINKER ERROR] undefined reference to 'WinMain@16'
ID return 1 exit status

Merci de m'aider

6 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 févr. 2006 à 10:33
Regarde sur Google tu toruveras plein de tuto sur la création de Dll

Shell
0
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
17 févr. 2006 à 10:34
lol mais peutêtre que si on poste dur des forums c'est pour avoir une réponse précise et rapide non?
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 févr. 2006 à 10:35
Voici un très bon lien bien détaillé apparement :http://www.games-creators.org/wiki/Cr%C3%A9ation_et_utilisation_de_DLL

Shell
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
17 févr. 2006 à 14:27
Fais attention, avec #include "windows.c" dans Def.h et #include "Def.h" dans windows.c ça va faire des boucles !!!

Sinon rajoute ça à ton code .c , ça devrait marcher :

BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
DWORD reason /* Reason this function is being called. */ ,
LPVOID reserved /* Not used. */ )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
MessageBox(NULL, "Ca marche", "Appel", MB_OK);
break;


case DLL_PROCESS_DETACH:
break;


case DLL_THREAD_ATTACH:
break;


case DLL_THREAD_DETACH:
break;
}


/* Returns TRUE on success, FALSE on failure */
return TRUE;
}

Voilà a+
0

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

Posez votre question
phenX Messages postés 704 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 28 août 2012
17 févr. 2006 à 14:33
j'essai tpout de suite
0
ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
17 févr. 2006 à 14:37
Mais avec Dev Cpp quand tu crées un nouveau projet, tu as l'option "DLL".

C'est très bien fait ya pas de problèmes pour changer les fonctions, en rajouter...
0
Rejoignez-nous