bonjour,


je travail en c++ sous vs 2005. Je doit integrer des fonctions provenant d'une Dll mais sans avoir de .lib a disposition .. la personne m'ayant evoyer ces fichiers (.dll .exp .h et .hh) affirme qu'il n'y a pas de .lib .. et qu'il la integrer a son projet il y a de ca 4 ans ... mais il ne peut plus m'expliquer comment il a fait ..

ma derniere solution en date passait par GetProcAddress ..

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
18
19
20
21
22
23
24
25
 
HINSTANCE hDLL;               // Handle to DLL
	LPFNDLLFUNC_create_index fp1;    // Function pointer
	const char * ind="my_index";;
	int  dim=25, attSize=5;
	HnProperties hnp=HnProperties::null;
	HnSRTreeFile uReturnVal; 
	hDLL = LoadLibrary("HnSRTree.dll");
	if (hDLL != NULL)
	{
	   fp1 = (LPFNDLLFUNC_create_index)GetProcAddress(hDLL, "new_HnSRTreeFile");
	   if (!fp1)
	   {
		  // handle the error
		  FreeLibrary(hDLL);       
//		  return SOME_ERROR_CODE;
	   }
	   else
	   {
		  // call the function
		  uReturnVal = fp1(ind,dim,attSize,hnp);
	   }
	}
 
}

Mais le probleme perciste 29 erreurs du type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1>main.obj : error LNK2028: unresolved token (0A00004B) "public: __thiscall HnBlockStream::HnBlockStream(class HnBlockStream const &)" (??0HnBlockStream@@$$FQAE@ABV0@@Z) referenced in function "public: static void __clrcall HnBlockStream::<MarshalCopy>(class HnBlockStream *,class HnBlockStream *)" (?<MarshalCopy>@HnBlockStream@@$$FSMXPAV1@0@Z)

Je cherche donc soit une solution pour pouvoir faire appel au fonctions de la dll soit une autre source.

Cette Dll devait me permettre de generer et gerer un index SRTree pour une base de donnees. Si vous savez ou trouver les sources d'un tel indexes, merci de me les communiquer.