неопределенная ссылка на окна `JNI_CreateJavaVM '

пытаюсь ознакомиться с JNI API, но могуполучить пример программы на С ++ для компиляции. Я получил тот же пример для компиляции и запуска в Linux (после размещения вопроса в ссылке ниже), но могуполучить его в Windows; Я'использую mingw g ++. Я'Мы изменили все пути включения на пути Windows, и jni.h находится во время компиляции, но не jvm.dll.

неопределенная ссылка на `JNI_CreateJavaVM ' линукс

Вот команды, которые ямы пытались использовать для компиляции:

g++ -g -I"C:\Program Files (x86)\Java\jdk1.7.0_21\include" -I"C:\Program Files (x86)\Java\jdk1.7.0_21\include\win32" -L"C:\Program Files (x86)\Java\jdk1.7.0_21\jre\bin\server" callJava.cpp -ljvm

а также...

**same as above with the additional** : -L"C:\Program Files (x86)\Java\jdk1.7.0_21\lib"

Я получаю ошибку:

undefined reference to `_imp__JNI_CreateJavaVM@12'

и CPP компилируется: я

#include 

int main(){

    //firstTest();
    JavaVM *jvm;
    JNIEnv *env;

    JavaVMInitArgs vm_args;
    JavaVMOption options[1];
    options[0].optionString = "-Djava.class.path=C:/Users/Ron/Dropbox/jni/simple/ctojava/win";
    vm_args.version = JNI_VERSION_1_6;
    vm_args.options = options;
    vm_args.nOptions = 1;
    vm_args.ignoreUnrecognized = JNI_FALSE;

    int res = JNI_CreateJavaVM(&jvm, (void **)&env, &vm_args);

    jclass cls = env->FindClass("Hello");
    jmethodID mid = env->GetStaticMethodID(cls, "staticInt", "(I)I");
    env->CallStaticVoidMethod(cls, mid,10);

    jvm->DestroyJavaVM();
}

Я посмотрел много примеров, но все еще могуне могу найти решение. Любая помощь приветствуется!

ОБНОВИТЬ: Я почти уверен, что jvm.dll находится, потому что если я удалю -L "path_to_jvm» тогда я получаю ошибку:

mingw32/bin/ld.exe: cannot find -ljvm

Как я уже сказал, этот точный подход работает в Linux. Что еще мне не хватает для Windows?

Ответы на вопрос(2)

Ваш ответ на вопрос