comment importer une dll dans un projet VC++ 6 ????

comment importer une dll dans un projet VC++ 6 ???? - Programmation

Marsh Posté le 19-09-2001 à 09:26:13    

j'y arrive pô ...

Reply

Marsh Posté le 19-09-2001 à 09:26:13   

Reply

Marsh Posté le 19-09-2001 à 09:41:46    

Les 2 solutions les plus courantes:
 
1. importation statique:
 avec la dll, tu dois avoir un .lib et un ou plusieurs .h dans lesquels il y a la déclaration des fonctions exportées de la dll.
Alors tu ajoutes ces headers et ce .lib à ton projet.
Tu n'aurras besoin de la dll qu'au moment de l'execution (il faut qu'elle se trouve dans ton path ou dans le repertoire ou se trouve l'executable)
 
2. importation dynamique:
 il faut faire un LoadLibrary et recuperer des pointeurs sur les fonctions de la dll avec la fonction GetProcAddress, mais je ne crois pas que c'est ce que tu cherches à faire.
 
a+

Reply

Marsh Posté le 19-09-2001 à 09:45:53    

d'accord pour le .lib et .h mais j'ai toujours mon problème :
 
unresolved external symbol "__declspec(dllimport) long __stdcall JNI_CreateJavaVM(struct JavaVM_ * *,void * *,void *)"
 
que je mette jvm.lib ou pas j'ai toujours ce problème, il veut pas linker ...

Reply

Marsh Posté le 19-09-2001 à 09:56:35    

Si ça marche pas 2 possibilitées :
  - tu n'a pas mis le .lib au bon endroit : Projet->Settings->Link
  - ton .h ne correspond pas au .lib

Reply

Marsh Posté le 19-09-2001 à 09:57:02    

le rep du .h doit etre ds le "additional include directories" (clic droit sur ton projet/settings/c++/preprocessor)
 
le rep du .lib ds le "additional library path" (clic droit sur ton projet/link/input)

Reply

Marsh Posté le 19-09-2001 à 10:03:10    

j'utilise le .lib ET le .h du jdk1.3 et les rep sont bien positionnés ...

Reply

Marsh Posté le 19-09-2001 à 11:25:41    

Comme je te l´ai déjà écrit je vois que ça aussi, ta lib correspond pas à ton header..
 
Car chez moi JNI_CreateJavaVM() EST dans jvm.lib.
 
La seule différence est que moi j´ai pris JNI de borland et non du jdk..
Peut-être que ils ont changé les contenus des libs..
Dans ce cas fais un find in files "JNI_CreateJavaVM" ds ttes les libs du jdk.. Si elle est là tu la trouveras.. Sinon il te reste à chercher ds les DLLs et à faire un link dynamique si cette fonction n´est plus présente ds aucune lib..
 
:)


---------------
Athlon64 s754 10*200MHz - R9800Pro - 512MB DDR200MHz - ZX6RR - Q2[SupOp] - Tutorial Video: multilangues, multisstitres
Reply

Marsh Posté le 19-09-2001 à 11:40:41    

Je viens de vérifier chez moi (à coup de search in files) la fonction est dans jvm.lib pour le link et ds jvm.dll pour l´importation dynamique..
Bonne chance ça doit bien être qqe part!!

Reply

Marsh Posté le 19-09-2001 à 15:58:20    

j'ai téléchargé le jdk1.3.1_01 et c'est bon ...
apparemment y'a une couille avec les .lib / .h du jdk1.3 ....
 
A+

Reply

Sujets relatifs:

Leave a Replay

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