Bonjour,
Je rencontre l'erreur LNK2019 au build d'un projet (ConfigType=DLL, Use MFC in a Shared dll, Not using ATL, Use Multi-Byte character set) et je ne vois pas comment la résoudre.
Voici l'erreur :
La fonction ExtWriteToPipe (ExtProc.cpp) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error 69 error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall ComAccessorGSim::postGSimTrace(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > &)" (__imp_?postGSimTrace@ComAccessorGSim@@QAEXAAV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z) referenced in function "void __cdecl ExtWriteToPipe(unsigned long,char *,char *,char *,unsigned long,char *)" (?ExtWriteToPipe@@YAXKPAD00K0@Z) ExtProc.obj GExt
La définition de la méthode postGSimTrace (omAccessorGSim.h) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void ExtWriteToPipe(ULONG status, CHAR* message, CHAR* psGComName, CHAR* psMethodName, ULONG argc, CHAR* pArgv) { #define TIME_OUT 5000 #define STATUS_OK "OK = " TArg argv; ULONG i; CHAR tmpMessage[1000]; ( ... ) strcat(tmpMessage, "\0"); CString messageToPost(tmpMessage); EXTApiCtx.DumpGsimInterface->postGSimTrace(messageToPost); }
A noter que j'ai repris ce projet sous VS2008 alors qu'il avait été crée à la base sous Visual c++ 6.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class GSimComControler; class __declspec(dllimport) ComAccessorGSim { friend GSimComControler; public: /*! standard constructor */ ComAccessorGSim(const CString& ApplicationName ); /*! standard destructor */ virtual ~ComAccessorGSim(); // --- METHODS --- // void postGSimTrace(CString& TraceToPost); ( ... )
Etant débutant en C++, j'ai essayé la résolution proposée ici : http://support.microsoft.com/kb/309801#mtDisclaimer mais en vain (j'ai mis ça dans omAccessorGSim.h
Des idées svp?
Partager