2

私はC++でJNIアプリケーションの最初の動作バージョンを構築しています。この質問では、アプリケーションの具体的な詳細が重要であるとは思いません。もしそうなら、私はそれらを追加します。

私のコードはエラーなしでコンパイルされます。ただし、単一のリンカーエラーがあります。

error LNK2019: unresolved external symbol __imp__JNI_CreateJavaVM@12

/JNI_CreateJavaVMに含まれていないことを理解しています。ただし、この関数のためにリンクする必要のあるライブラリを特定できませんjvm.libjvm.dll

JDKをインストールしました(ただし、64ビットのみです。これは32ビットのC ++アプリケーションであり、関連する可能性があります)。

誰か助けてもらえますか?

4

2 に答える 2

1

jvm.lib を Visual Studio のプロジェクトにリンクする手順:

  • プロジェクトを右クリック -> プロパティ。
  • [プロパティ] ダイアログ ボックスで、[Linker] -> [Input] -> [AdditionalDependencies] 領域の下に jvm.lib を追加します。
  • 最後に、 Linker->General->AdditionalLibraryDirectoriesの下にjvm.lib パス (「C:\Program
    Files\Java\jdk1.7.0_60\lib」など) を記述します。

これらの手順の後、プロジェクトは jvm にリンクされ、正常に動作します。

于 2014-09-05T11:50:06.820 に答える
0

C++ から Java アプリケーションを実行する場合、1 つが 32 ビットでもう 1 つが 64 ビットの場合、exec を使用して新しいプロセス esp を作成することをお勧めします。

于 2012-04-25T05:31:39.850 に答える