2009-10-26 7 views
16

¿Alguien ha logrado configurar con éxito un proyecto combinado de Java/C++ para Eclipse?Desarrollo de aplicaciones JNI con Eclipse (Combinado Java/C++)

Lo que intento hacer es bastante simple;

1) Compile my Java sources 
2) Run Javah to create the JNI interface 
3) Compile all the C/C++ sources 
4) Link native shared library + package the JAR 

Sugerencias o incluso proyectos reales que funcionan son bienvenidos.

(Eclipse 3.5)

+0

Esto no está realmente relacionado con su pregunta, pero tengo curiosidad: ¿necesita usar JNI/C++? Si es así, ¿para qué? ¿Es algo que Java NIO podría hacer? – cletus

+0

El JNI es un puente entre Java y algunos viejos hardware criptográfico, y la API para el dispositivo solo está disponible como una biblioteca c. Ahora tengo dos proyectos de eclipse, uno para clases Java y el segundo para las partes nativas en C. Innecesario, creo que Eclipse debería poder hacerlo en uno. :/ – ointment

Respuesta

4

Esto realmente suena como un trabajo para un sistema de construcción, como ant. Simplemente configure su proyecto Java para usar el ant builder. Aún obtendría los beneficios del soporte específico del idioma para sus proyectos C++ y Java, y una compilación del proyecto con un clic.

+0

Gracias. Echaré un vistazo a esto. – ointment

1

Estoy usando el ant cpptasks para realizar un proyecto JNI con Eclipse solo en Linux y Windows. Trabajar para hacerlo funcionar con el MSVC (Windows) y el compilador C++ de GNU (obtener todos los indicadores del compilador y del enlazador correctamente, ya que se había hecho con Visual Studio Magic anteriormente), pero realmente valió la pena.

Para generar el encabezado de C++ con javah y todas las otras tareas que mencionó Ant probablemente sea la herramienta de elección también.

7

http://www.cs.umanitoba.ca/~eclipse/8-JNI.pdf Creo que esto es lo que querías. Tal vez un poco viejo.

+0

No veo referencias de Eclipse en ese documento. Para obtener una descripción general general de JNI, nada supera a [La interfaz nativa de Java - Guía del programador y su especificación] (http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/jniTOC.html) de Oracle . En cuanto al problema original de @ unintment (que estoy experimentando actualmente), creo que tendré que usar una buena interfaz de línea de comandos pasada de moda (posiblemente a través de una tarea Ant) para construir mis proyectos C++/Java JNI. – StockB

Cuestiones relacionadas