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+
H4dd3R
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!!
H4dd3R
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..
:)
XDMJ
j'utilise le .lib ET le .h du jdk1.3 et les rep sont bien positionnés ...
__Lolo__
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)
seblamb
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
XDMJ
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 ...
SoWhatIn22
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.