Usando javah en linux
Tengo una clase simple para usar en JNI, que necesito exportar a un archivo de encabezado (.h).
He leído que necesito usar eljavah
comando, yendo a lasrc
carpeta del proyecto, y escriba:
javah -jni com.main_package.NativeClass
En Windows funciona bien, pero en mi sistema operativo principal (Linux) no funciona. Sigue diciendo que no puede encontrar la clase. He intentado usar muchas combinaciones del comando y ejecutarlo en muchos caminos posibles, pero no funcionó. He seguido muchos tutoriales y sitios web (incluidos aquí) y también he probado sus combinaciones.
Incluso intenté usar la herramienta externa de Eclipse para esto, como se muestraaquí, pero también ha mostrado el mismo error.
El error que recibo se ve así:
error: cannot access com.main_package.NativeClass
class file for com.main_package.NativeClass not found
javadoc: error - Class com.main_package.NativeClass not found.
Error: No classes were specified on the command line. Try -help.
¿Alguien puede ayudarme por favor? Realmente me gusta trabajar en Linux y no querría cambiar el sistema operativo cada vez que necesito usar esta herramienta.
Aquí está la respuesta correcta:
para la consola, vaya a la carpeta "bin / classes" y ejecute el comando que he usado:
javah -jni com.main_package.NativeClass
para eclipse, usa el enlace que di, pero en lugar de${project_loc}/bin/
utilizar${project_loc}/bin/classes/
y luego, en el explorador de paquetes, vaya a NativeClass.java y ejecute la herramienta externa. la salida estará en la misma ruta que la del archivo java.