DLL über JNI: %1 ist keine gültige Win32-Anwendung ?!



  • Hi.

    Ich versuche gerade, mit "eMbedded Visual C++ 4.0" und den dazugehörigen Tools eine DLL zu erstellen, die ich aus Java heraus auf einem PocketPC per JNI verwenden kann. Dabei bekomme ich allerdings auf dem PocketPC die Meldung:

    Ausnahme in Thread "main" java.lang.UnsatisfiedLinkError: SoundRec (%1 ist keine gültige Win32-Anwendung.)
    

    Die DLL wird auf jeden Fall schonmal gefunden, da bei fehlender DLL eine NotFound-Exception zurückgegeben wird.

    Der Code selbst ist an sich auch korrekt, da ich per GCC eine funktionierende DLL für WinXP basteln konnte und sie bei WinXP auch aus Java heraus per JNI ansprechen konnte.

    Ist das eine eVC-Einstellungs-Sache?

    Im Folgenden der Header:

    /* DO NOT EDIT THIS FILE - it is machine generated */
    #include <jni.h>
    /* Header for class SoundRec */
    
    #ifndef _Included_SoundRec
    #define _Included_SoundRec
    #ifdef __cplusplus
    extern "C" {
    #endif
    /*
     * Class:     SoundRec
     * Method:    record
     * Signature: (Ljava/lang/String;)I
     */
    JNIEXPORT jint JNICALL Java_SoundRec_record
      (JNIEnv *, jclass, jstring);
    
    #ifdef __cplusplus
    }
    #endif
    #endif
    

    und der Source:

    #include <jni.h>
    #include "stdafx.h"
    #include "SoundRec.h"
    
    JNIEXPORT jint JNICALL Java_SoundRec_record( JNIEnv *env, jclass clazz, jstring string) {
    
      return (jint)8;
    
    }
    


  • Thanks, Leute... hat sich erledigt. Ich war verpeilt. 🙄
    Hatte für den Emulator kompiliert und dann die Emulator-DLL auf den PDA geschoben. 😃 Mit einer Kompilierung für den PDA ging es dann natürlich...

    Manchmal hilft aber ne Nachricht an ein Forum auch schon, um selber auf die Lösung zu kommen. 🕶


Anmelden zum Antworten