Bonjour
J'aurai besoin de votre aide sur un problème concernant les DLL.
Je travail en C, j'ai créé une DLL avec devc++.
Donc quelque chose comme :
dll.h#ifdef BUILDING_DLL
#define DLL_EXPORT __declspec (dllexport)
#else
#define DLL_EXPORT __declspec (dllimport)
#endif
DLL_EXPORT int maFonction(void); dll.cDLL_EXPORT int maFonction(void){
.
..
...
} Et j'ai utilisé cette DLL dans un programme, fait également avec devc++, compilé
en incluant dll.h, et en linkant le fichier libdll.a qui avait été généré.
Fonctionnement impeccable.
Ca s'est gaté quand j'ai voulu utiliser cette DLL dans un code compilé avec visual studio.
J'y ai écrit un code C, dans un fichier .c, j'ai bien spécifié de compiler comme du C.
J'ai linké libdll.a (sinon ca ne compile pas, donc signe qu'il reconnait bien la librairie)
Et à l'execution : erreur de windows (envoyer un rapport d'erreur, blablabla), quand le programme
essai d'appeler une fonction de la DLL.
Et le comportement est le même si la DLL est dans le même repertoire OU NON, signe
qu'il ne la cherche même pas.
Alors si quelqu'un a une idée sur la cause de ce problème, il sera le bienvenu ;)
Je penche plutot pour un problème de configuration de visual studio, mais le problème
est peut-etre plus profond.
D'avance merci