3

Java プロジェクトで JNI を使用して C++ dll を呼び出したいと考えています。しかし、「UnsatisfiedLinkError: Invalid access to memory location」という奇妙なエラーがあります。私の環境は次のとおりです。 . 依存関係ウォーカーを使用してdllをチェックしましたが、依存関係エラーはありません。だから私はとても困惑しています。私は何をすべきか?

4

1 に答える 1

1

両方の環境で同じ DLL を使用しようとしていると思いますか? その場合、DLL を 32 ビット DLL としてコンパイルし、Win7-64 で 32 ビット JVM を使用する必要があります。Java アプリケーションの 32 ビット バージョンと 64 ビット バージョンの両方を出荷し、適切なライブラリを動的にロードすることを検討することをお勧めします。32 ビットと 64 ビットの競合がないことが確実な場合は、何がどのように失敗しているかについて、さらに詳しい情報を提供してください。

于 2013-12-03T22:49:06.170 に答える