2012-04-10 17 views
0

なぜ私は不満足なリンクエラーになっていますか?
詳細は以下のとおりです。

ネイティブメソッドのプロトタイプと私のJavaコードでの呼び出しは、このようなものです:

プライベートネイティブ長いsampleFunction(ロング[] [] twoDimArray、 長い番号);満足していないリンクエラー

p.sampleFunction(twoDimArray、number); VC++のコードで

ネイティブメソッドのプロトタイプは、このようなものです:

JNIEXPORT jlong​​ JNICALL Java_MyClass_sampleFunction(JNIEnvの* envを、jオブジェクトOBJ、 jobjectArray MyArrayという、 長い番号);

答えて

2

JVMの起動パラメータ-Djava.library.path=path/to/dllを使用して、使用している.dllをJavaライブラリパスに追加しましたか?そうでない場合、JVMはDLLにリンクできなくなり、上記のエラーが発生します。

この方法を使用する場合は、.dllをJVMのlibディレクトリにコピーすることもできます。

+0

私はすべてのことをしました。また、私は最初のパラメータで必要な出力を得ました。しかし、私は2つのパラメータで同じプログラムを試しているとき、私は上記のエラーが発生しています。 – svkvvenky

+0

http://equip.sourceforge.net/javatrans/docs/Javatrans_Java_to_CPP_mapping.html – mcfinnigan

+0

こんにちはmcfinniganさん、あなたのネイティブメソッドの第4引数を 'long long'に変更する必要があるかもしれません。長くjlong​​に置き換えて、私は成功する。 – svkvvenky

関連する問題