Possiedo Visual Studio C++ Project, che deve chiamare alcune funzionalità java. Userò JNI. Ho specificato supplementari includono directory: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
e aggiuntivi directory di libreria
C:\Program Files (x86)\Java\jdk1.7.0_10\lib
ed è stato in grado di compilare codice necessario. Ma io ancora non riesco a correre a causa del prossimo errore:
The program can't start bacause jvm.dll is missing...
presumo, il modo più semplice è solo per copiare la DLL nella directory di progetto. Ma non so quale. Ho trovato, per esempio, alcuni di loro differenti:
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
Quindi, quale dovrei copiare?
Non è sufficiente solo impostare 'JAVA_HOME'. Inoltre, è necessario definire il percorso per 'jvm.dll' (o dll deve essere solo copiato). Qual è la differenza tra la versione client e server? Ho solo queste due DLL nel sistema o ce ne sono altre? – Andrew
Client e server sono quasi gli stessi, solo ottimizzati per prestazioni migliori se utilizzati come denominati. Ma non succede niente di brutto quando usi l'altro. –