java c++ macos jni

java - C++ JNI quiere instalar Mac Legacy JRE6



macos (1)

Por alguna razón, esto sucede cuando el código usa libjvm.dylib . También hay libjli.dylib que tiene las mismas funciones, pero omite el cuadro de diálogo JRE 6. Nunca me molesté en comprobar por qué es así.

Si enlaza con -ljvm , reemplace esto con -ljli . Si usa dlopen junto con dlsym simplemente use el otro nombre de biblioteca allí.

Tengo JDK8 instalado y mi JAVA_HOME está configurado en la ruta correcta para eso. Puedo usar Java sin ningún problema. Sin embargo, cuando trato de ejecutar código Java desde C ++, me pide que instale una versión realmente antigua de JRE6.

En mi código tengo:

JavaVMInitArgs vm_args; vm_args.version = JNI_VERSION_1_8;

así que es raro que JRE6 esté siendo solicitado. ¿Cómo puedo obtener C ++ JNI para usar mi instalación JDK8 existente?