régénérer le .lib pour la DLL

régénérer le .lib pour la DLL - C++ - Programmation

Marsh Posté le 26-10-2004 à 15:15:48    

salut a tous,
 
jai un projet sous vc++6 et je dois utiliser une DLL.
 
la personne qui me fournit la DLL me donne avec le .lib du meme nom ainsi que le .h  
 
par contre il genere le .lib avec l'utilitaire de borland c++ ce qui fait que le .lib n'est pas compatible avec mon projet
 
ma question est de savoir comment je dois faire pour regenerer le .lib
 
merci
jc

Reply

Marsh Posté le 26-10-2004 à 15:15:48   

Reply

Marsh Posté le 26-10-2004 à 15:56:30    

Utilise les outils de Borland :D

Reply

Marsh Posté le 26-10-2004 à 22:17:35    

Je pense qu'il te faut recompiler la dll avec VC++ pr générer le .lib qui va bien.
Mais évidemment je suppose que tu n'as pas accès aux sources de la dll...

Reply

Marsh Posté le 26-10-2004 à 23:32:08    

Sinon tu peux y arriver...il te faut exporter la liste des fonctions de la dll dans un fichier .def et via link.exe hop.
Je l'avais fait : avec dependency walker je copie-colle les fonctions exportées dans un fichier def, un appel à link.exe et t'as le .lib
Je crois que c'est aussi possible avec lib.exe
Pour un exemple, voir "msvcrt.lib missing" ici :
http://sapdb.2scale.net/moin.cgi/M [...] _20Toolkit
ou ça peut etre :
http://forum.hardware.fr/hardwaref [...] 8153-1.htm


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 27-10-2004 à 08:03:12    

HelloWorld a écrit :

Sinon tu peux y arriver...il te faut exporter la liste des fonctions de la dll dans un fichier .def et via link.exe hop.


 
Oui. Il me semble qu'il faut faire:
 
DUMPBIN /EXPORTS /OUT:michou.tmp michou.dll
 
Tu tripatouilles ensuite le fichier tmp pour le transformer en fichier DEF.  
 
Et pour produire le .LIB depuis le .DEF, un simple:
  LIB /DEF:michou.def
 
 
Tout ça parce que Visual Studio manipule du COFF, alors que BCB utilise de l'OMF.

Reply

Marsh Posté le 27-10-2004 à 09:09:23    

Lam's a écrit :

Tout ça parce que Visual Studio manipule du COFF, alors que BCB utilise de l'OMF.


Y'a pas un utilitaire de Borland qui fait la conversion?


Message édité par Ace17 le 27-10-2004 à 09:10:21
Reply

Marsh Posté le 27-10-2004 à 09:17:22    

Il y a implib pour faire COFF->OMF.

Reply

Marsh Posté le 27-10-2004 à 17:06:26    

merci pour ces reponses qui m'ont deja pas mal aidees meme s'il y a des termes auxquels je ne suis pas encore habitué :(
 
je crois que je vais harceler celui ki me file la dll pour kil se demerde a la compiler avec visual !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed