Bonjour à tous !
J'ai besoin d'aide pour exporter les fonction d'une DLL que j'ai créé.
ou les importer dans un autre programme, je sais pas trop :S
en gros, j'ai ça :
fichier.h
fichier .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #ifdef MADLL_EXPORTS #define MADLL_API __declspec(dllexport) #else #define MADLL_API __declspec(dllimport) #endif #ifdef ___cplusplus extern "C" { #endif MADLL_API int Init(int Ma_Variable); #ifdef ___cplusplus } #endif
fichier .def
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "Mon_Fichier.h" int Init(int Ma_Variable) { // mon code qui fait qques trucs }
Tout cela sous visual studio.net 2003.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ; fichier.def : déclare les paramètres de module pour la DLL. LIBRARY "mon_Projet" EXPORTS Init = ?Init@@YAHHHHHHHH_N00@Z
Tout ce que j'ai essayé me donne des erreurs, là j'en suis à "liaison DLL incohérente" depuis que j'ai modifié mon .h pour ce qu'il y a au dessus, mais ce n'est qu'un warning ! :/
Lorsque je regarde la DLL avec "quick view plus", j'obtient mes fonctions "décoré" (dûes au __declspec(dllexport)) et mes fonctions "normales" (dûes au .def)
donc "logiquement", la DLL est bonne ?!
quand j'essaye de l'inclure à un programme pour la tester, j'obtient une erreur LNK2001, symbole externe non résolu!
là je sèche.
je fourni bien le .h, le .lib, je copie la DLL dans le répertoire du projet, ainsi que dans \system32\.
mais il ne veux pas l'utiliser....
Est-ce que quelqu'un saurait m'aider ?
SVP
Partager