DLL fichier de logs [c++] - C++ - Programmation
Marsh Posté le 05-12-2005 à 19:28:28
pour l'instant j'ai juste mis un "CLog toto" global et un "CLog* pToto = &toto". dans mon fichier main .
et j'ai fait un "extern CLog *pToto" dans ma dll.
là j'ai des erreurs de linkage en recompilant ma dll:
unresolved external symbol "public: __thiscall CLog::CLog(void)
pareil pour le destructeur "
qu'est ce qui ne va pas la dedans? Je ne comprends pas
Marsh Posté le 06-12-2005 à 11:34:26
ton exe n'exporte pas les méthodes de CLog, et elles doivent etre déclarées mais pas définies dans la dll.
Fonctionne peut-etre par interface ? (une classe avec des méthodes virtuelles pures)
Marsh Posté le 06-12-2005 à 12:55:58
j'ai fait un include de mon log.h dans le main de ma dll... donc a priori il ya les déclarations, mais il a besoin de l'implementation du constructeur et du destructeur, et là je ne comprend pas pourquoi...
Marsh Posté le 06-12-2005 à 12:59:30
tu n'as pas de déréférenciation et de copies de toto dans ta dll ?
Marsh Posté le 06-12-2005 à 13:54:46
c'est quoi une déréférenciation?
ya juste ça...
voila ma dll qui me renvoie une erreur de link sur le constructeur et le destructeur de ma classe de log:
maDLLMain.obj : error LNK2001: unresolved external symbol "public: __thiscall CLogFile::CLogFile(void)" (??0CLogFile@@QAE@XZ)
maDLLMain.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall CLogFile::~CLogFile(void)" (??1CLogFile@@UAE@XZ)
Debug/maDLL.dll : fatal error LNK1120: 2 unresolved externals
fichier maDLLMain.cpp
Code :
|
et mon exe qui compile bien:
Code :
|
Je compile le tout avec Visual 6,
Marsh Posté le 06-12-2005 à 15:06:45
je comprends pas trop pourquoi il a besoin du constructeur et du destructeur, il les veut peut-etre d'office des que tu fais référeces a une classe.
sinon, je comprends pas trop non plus pourquoi tu n'as pas une erreur de symbole non résolu sur g_pLogFile dans la dll
Marsh Posté le 06-12-2005 à 16:10:51
autant pour moi ! J'ai viré des includes pour pas trop charger mon post sur le forum et j'ai viré les includes du "main" de mon exe ! dans ce .h il yavait la definition des macros et aussi de la variable g_LogFile -->ERRREUUURRREE !
du coups c'est pour ça qu'il voulait le le constructeur et le destructeur J'ai juste viré l'include et ca marche! J'ai du mal ! désolé.
Marsh Posté le 05-12-2005 à 17:31:29
bonjour!
j'ai un exe qui appelle des DLLs et je voudrais que ces DLL et l'exe logguent des trucs dans un fichier, mais je ne sais pas trop quelle est la bonne methode pour faire ça...
je pense que si l'exe a en charge la gestion du fichier de log et qu'ensuite si je pouvais passer le pointeur vers mon instance de ma classe de log a mes DLL ça pourrait être pas mal non?
merci