Bonjour à vous cher internaute. J'utilise VC++ 2008 et je suis en train d'essayer de créer
une DLL d'une simplicité inégalée. Seulement, un problème se pose: une erreur LNK2001!
Pour faire une histoire courte, ma DLL doit absolument comporter un constructeur personnalisé.
Ce constructeur, comme vous le savez sans doute, me permet d'enregistrer certains
paramètres indispensables au bon fonctionnement de l'objet que représente ma class.
Après plusieurs tentatives, j'ai décidé de créer une class simple pour mettre en évidence
de certaines erreurs dont ma class utile fait face. Voici un peu de code:
CPPDLL.H
-------------------------------------------------------------------------------------
#ifndef CPPDLL_H
#define CPPDLL_H
extern"C"class mathematique
{
private:
int number; public
:
mathematique(int a);
void setnumber(int a) { number=a;}
int cube();
};
#endif//CPPDLL_H
CPPDLL.CPP
-------------------------------------------------------------------------------------
#include"cppdll.h"
mathematique::mathematique(int a)
{
number = a;
}
int mathematique::cube(){
return number * number * number;
}CPPDLL.DEF
-------------------------------------------------------------------------------------
EXPORTS
mathematique
setnumber
cube
-------------------------------------------------------------------------------------
Donc, le problème ici est que j'obtiens 3 erreurs:
1) cppdll.def : error LNK2001: unresolved external symbol mathematique
2) cppdll.def : error LNK2001: unresolved external symbol setnumber
3) .\Debug/cppdll.lib : fatal error LNK1120: 2 unresolved externals
Problème 1: L'erreur pour laquelle je demande votre aide! J'ai recherché beaucoup, mais je ne trouve rien...
Problème 2: Pour régler cette erreur, je dois modifier certaines choses:
CPPDLL.H : void setnumber(int a) { number=a;};
CPPDLL.CPP: void setnumber(int a) { number=a;}
Bien que je sache comment remédier à cette erreur, j'aimerais bien la comprendre...
Problème 3: Si on règle 1 et 2, celui-ci fera de même!!
J'espère avoir été assez claire dans mes explications pour vous, cher étrangé, puissiez m'aider dans mon incompréhention. Merci de votre aide!