Ich habe Visual Studio C++ Project, das einige Java-Funktionalität aufrufen muss. Ich werde JNI verwenden. Ich habe angegeben zusätzlich enthalten Verzeichnisse:Java. JNI. jvm.dll
C:\Program Files (x86)\Java\jdk1.7.0_10\include
C:\Program Files (x86)\Java\jdk1.7.0_10\include\win32
und zusätzliche Bibliotheksverzeichnis
C:\Program Files (x86)\Java\jdk1.7.0_10\lib
und konnte benötigten Code kompilieren. Aber ich kann immer noch führen Sie es nicht, weil der nächste Fehler:
The program can't start bacause jvm.dll is missing...
Ich gehe davon aus, der einfachste Weg ist nur die DLL in das Projektverzeichnis zu kopieren. Aber ich weiß nicht welche. Ich fand zum Beispiel einige andere von ihnen:
C:\Program Files (x86)\Java\jdk1.7.0_10\jre\bin\client\jvm.dll
C:\Program Files (x86)\Java\jdk1.7.0_10\jre\bin\server\jvm.dll
C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
Also, was soll ich kopieren?
Es ist nicht genug, nur 'JAVA_HOME' zu setzen. Zusätzlich muss der Pfad zur 'jvm.dll' definiert werden (oder die DLL muss nur kopiert werden). Was ist der Unterschied zwischen Client- und Serverversion? Habe ich nur diese zwei DLLs im System oder gibt es andere? – Andrew
Client und Server sind fast identisch, nur für bessere Leistung abgestimmt, wenn sie als benannte verwendet werden. Aber nichts Schlimmes passiert, wenn Sie den anderen benutzen. –