JNI - dll erstellen
-
Hallo,
ich muss von Java auf C zugreifen. Dazu bin ich dabei mich in JNI einzuarbeiten.
Dabei habe ich jetzt als Beispiel eine HelloWorld.h - Datei und eine HelloWorld.c -Datei.
Leider schaffe ich es aber nicht, daraus eine dll zu generieren!
Ich habe es in der Kommandozeile versucht mit:
-Ic:\j2sdk1.4.2_06\include -Ic:\j2sdk1.4.2_06\include\win32 -LD HelloWorld.c -FeHelloWorld.dll
Dabei bekomme ich den Fehler: "The filename, directory name, or volume label syntax is incorrect."Ich habe auch das Visio Studio, was dafür ja auch geeignet sein soll, habe dabei aber noch keine Möglichkeit gefunden, dll's aus meinem C-Code zu erstellen, dort ist immer nur von C++-Dateien (.cpp) die Rede.
HelloWorld.h
/* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class HelloWorld */ #ifndef _Included_HelloWorld #define _Included_HelloWorld #ifdef __cplusplus extern "C" { #endif /* * Class: HelloWorld * Method: print * Signature: ()V */ JNIEXPORT void JNICALL Java_HelloWorld_print (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif
HelloWorld.c
#include <jni.h> #include <stdio.h> #include "HelloWorld.h" JNIEXPORT void JNICALL Java_HelloWorld_print(JNIEnv *env, jobject obj) { printf("Hello World!\n"); return; }
Ich wäre euch dankbar, wenn ihr mir Tipps geben könntet, wie ich mit der Kommandozeile oder Visual Studio eine dll aus meinem Coding generieren kann! Ich muss dazu sagen, dass ich mich leider mit C/C++ nicht wirklich auskenne!!
-
slalomlooser schrieb:
Ich wäre euch dankbar, wenn ihr mir Tipps geben könntet, wie ich mit der Kommandozeile oder Visual Studio eine dll aus meinem Coding generieren kann...
muss es denn unbedingt über die kommandozeile gehen? aber guckst du: http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=617
http://support.microsoft.com/kb/815065/de?spid=2488&sid=50
http://forum.java.sun.com/thread.jspa?threadID=604646&tstart=0
http://forum.java.sun.com/thread.jspa?threadID=720364&tstart=270
und vor allem das: http://www.codeproject.com/java/jnibasics1.asp?df=100&forumid=4729&exp=0&select=1532824
-
-
Danke, konnte das Problem in der Zwischenzeit lösen!!