問題タブ [unsatisfiedlinkerror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1227 参照

jdic - JDIC ライブラリ パス

Javaアプリに次の行があります

webBrowser = new WebBrowser(新しい URL("http://java.net"));

次のエラーが発生しています

それを修正する方法

0 投票する
1 に答える
1920 参照

java - Eclipse (Helios) が DLL のロードに失敗する

Windows で Java プログラムが次のエラーで失敗します。

私はさまざまなことを試しました

  • DLL の場所をシステムのパス環境変数に追加する
  • 以下のようにプログラムでDLLの場所を明示的に設定する

    /li>

私が見る java.library.path を以下に示します。

問題の DLL は「C:\extlibs」にあります。DLL を "C:\Program Files\Java\jre6\bin" に配置すると、プログラムは DLL を認識しません (つまり、ロードします) が、他の多くの DLL を処理する必要があります。それも。

誰でもこの動作に光を当てることができますか? ところで、Eclipse が C:\Program Files\Java\jre6\bin を選択して java.library.path に追加している場所を特定することもできません。システムのパス環境変数の一部ではありません。

0 投票する
2 に答える
3561 参照

java - IntelliJ java.lang.UnsatisfiedLinkError: C:\User\...\java_bridge.dll: 依存ライブラリが見つかりません

IntelliJ Java Web アプリケーション プロジェクト (Maven プロジェクト) を Linux システムから Windows システムにインポートしようとしています。この Java プログラムは、実行するために 2 つの外部ライブラリに依存しています。

Linux システムでは、テスト ケースを実行すると両方のライブラリが正常にロードされます (そして成功します)。ただし、Windows システムに移行すると、ライブラリの 1 つが正しく動作しなくなります (はい、適切なウィンドウを取得するようにしました)。バイナリ)。

エラーが発生し続けます

この時点では、.dll がディレクトリに存在するため、何が間違っているのかわかりません。.dll の場所は、Windows の PATH 変数にも存在し、-Djava.library.path=C:\Users\Admin\Desktop\SAINT\Packages\cellml-sdk-1.9\lib を使用して Java に指定しました。

ありがとう

0 投票する
5 に答える
3486 参照

java - JNI:ライブラリはパス上にありますが、メソッドは見つかりません(java.lang.UnsatisfiedLinkError)

JNIを使​​用しようとして、java.lang.UnsatisfiedLinkErrorを取得しています。これについて尋ねられた他の百万の質問とは異なり、私は自分の道にlibを持っており、それを削除すると例外の変化さえ見ました。作成したdllに問題があることは確かですが、何が原因かわかりません。

これが私のJavaクラスコードです:

これが私のjavahで生成されたヘッダーファイルの要約部分です:

これが私のc++コードです:

Eclipseから取得するランタイム例外は次のとおりです。

上記の例外は、ライブラリ「lala」がDIDで検出されたことを意味しますが、メソッド「add」はまだ定義されていないことを読みました。プロジェクトとチュートリアルで異なるのは次のとおりです。

  • 私はデフォルトのパッケージの代わりにパッケージを使用しています(チュートリアルは実際にこれを行うべきではありませんか?!?!さあ、プロになりましょう)
    • 鉱山には戻り値があります。
    • 作成後にdllを移動しました(パスが構成されているため、これによってdllが破損することはないと思います)。

これはどのように可能ですか?

他の情報:

OS:Windows 7
JDK:1.6.0_31(x86、32ビットjvmの場合)
C ++ IDE:Code :: Blocks(dllはCode :: Blocks IDEによって自動的にコンパイルされました)
C ++コンパイラ:MinGW32-g ++(GNU C ++コンパイラ)

C:\ _ \ include
にjni.hとcom_Tune.hがあります。C:\ _\libにlala.dllがあります。

環境変数:
パス:C:\ Program Files(x86)\ NVIDIA Corporation \ PhysX \ Common;%CommonProgramFiles%\ Microsoft Shared \ Windows Live; C:\ Program Files(x86)\ AMD APP \ bin \ x86_64; C:\プログラムファイル(x86)\ AMD APP \ bin \ x86;%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files( x86)\ ATI Technologies \ ATI.ACE \ Core-Static; C:\ Apps;%JAVA_HOME%\ bin; C:\ Program Files \ MySQL \ MySQL Server 5.5 \ bin;%MAVEN_HOME%\ bin;%HADOOP_INSTALL%\ bin ; c:\ Program Files(x86)\ Microsoft SQL Server \ 100 \ Tools \ Binn \; c:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; c:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \; C:\ MinGW \ bin; C:\ Program Files(x86)\ GnuWin32 \ bin; C:_ \ path; C:\ _ \ lib; C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin; C:\ _ \ include

0 投票する
1 に答える
311 参照

android - Android NDK で散発的に UnsatisfiedLinkError が発生する

Android アプリが特定の ndk 呼び出しで散発的に UnsatisfiedlinkError 例外をスローする理由の手がかりを探しています。

ndk を介して 1 つのネイティブ ライブラリを読み込む Android アプリがあります。

ネイティブ ライブラリは C++ で記述され、STL を使用します (私のメイクファイルでは APP_STL := stlport_static を設定しています)。他のライブラリは使用または必要ありません。ネイティブ ライブラリには、約 20 の Java クラス用の約 300 のネイティブ メソッドがあります。

ほとんどの場合、すべて正常に動作します。しかし、時々、私のユーザーは UnsatisfiedLinkError 例外を受け取ります。例外は常に同じネイティブ関数呼び出しで同じ場所でトリガーされますが、奇妙なことに、それはネイティブ関数の最初の呼び出しでもなく、その特定のネイティブ関数の最初の呼び出しでもありません。

1 つの特定のネイティブ コールが失敗する可能性がある理由の手がかりは大歓迎です。ndk は簡単に壊れますか? このような問題をどのようにデバッグしますか?

同じ呼び出しを持つ単純なテスト プログラムは問題なく動作します。それにもかかわらず、ソースコードの一部を次に示します。

Java の ndk 関数の問題は次のとおりです。

ヘッダー ファイルは次のとおりです。 extern "C" { ...

そして、実装は次のとおりです。

0 投票する
1 に答える
5766 参照

java - Java バージョン 1.6 共有ライブラリのロード時に UnsatisfiedLinkError、Java 1.4 は正常に動作しますか?

問題が解決しました。libjnidiagnosticsserver.so には、リンカー lib と libfesdiagnosticsserver.so へのパスがありませんでした。Java 1.4 は、Java 1.6 よりも未定義シンボルの検索に寛大でなければなりません。ご協力ありがとうございました。これを公平に締めくくるためのエチケットに関する提案はありますか?

(免責事項: Java初心者)

JNI を使用して C++ 共有ライブラリを呼び出す Java アプリケーションを作成しました。実行時に Java のバージョンを出力し、LD_LIBRARY_PATH を取得して出力します。

Java バージョン 1.4 - すべて問題ありません!:

Java バージョン 1.6 - UnsatisfiedLinkError :

未定義シンボル_ZN17DiagnosticsServerC1Evはlibfesdiagnosticsserver.soで定義されています。Java 1.4 はそれを認識しますが、Java 1.6 は認識しませんか? System.loadLibrary("fesdiagnosticsserver") 呼び出しが機能します。Java 1.6 の loadLibrary はどこを見たらよいかわからない?

どちらの場合も環境は同じです。

ネイティブ C++ 共有ライブラリ コンパイル オプション:

Java 1.4 で動作する場合、最初に jnidiagnosticsserver の依存関係をロードする必要があります。私はなぜなのか理解していない。私は LD_LIBRARY_PATH がこれを処理することを期待していました:

安全保障問題?Java バージョンの構成の問題?

あらゆる方向性を前もってありがとう、

-エド

PS: 私の目標は、Java ソースを Glassfish RESTful Web サービスで実行することです。Java アプリで LD_LIBRARY_PATH を解決できる場合、Glassfish 3 でも同じ解決策が適用されることを期待しています。

0 投票する
1 に答える
985 参照

java - Gumstix で JamVm がアプリケーション (jpcap を使用する) を実行していない

ここの初心者なので、ばかげた/明白なことを尋ねることを事前にお詫びします。Gumstix overo ボード (Linux カーネル 2.6.34) で Java アプリケーションを実行しようとしています。これまでのところ、JamVm (jvm)、jikes コンパイラ、およびクラスパス ライブラリをインストールしました (このチュートリアルの手順に従って)。HelloWorld プログラムを実行しましたが、問題ないようでした。

「jpcap」ライブラリを使用する別のアプリケーション (「MyApp」など) を実行しようとすると、jvm から次のようなエラーが表示 されます。 (ファイル 'libjpcap.so' として) gnu.classpath.boot.library.path および java.library.path 内。. .

このアプリケーションは、Netbeans 7.1 を使用してコンパイルされました。次のような構造の dist フォルダーが生成されました。

dist: |-- MyApp.jar |-- Readme |-- lib (フォルダ) |---|-- jpcap.jar |---|-- swing-layout-1.0.4.jar

readme によると、このアプリケーションをデプロイするには、dist フォルダーに移動して「java -jar "MyApp.jar"」と入力する必要があります。これを行うと ('jamvm -jar MyApp.jar')、上記のエラーが発生します。

私の gumstix ボードには libpcap-1.1.1-r1.6 がインストールされています。(ボードに /usr/lib/libpcap.so.1 が見つかりました。)

誰が何が問題なのか知っていますか?アドバイスをいただければ幸いです。

Ps: この質問は、ほんの数分前に gumstix-users リストに投稿しました。返信の可能性を高めるために、ここにも投稿しています。ここにいるみんなが大丈夫であることを願っています。

0 投票する
1 に答える
1206 参照

java-native-interface - GeoTools/GDAL: 警告: kakadu ネイティブ ライブラリの読み込みに失敗しました

GeoTools を使用して dted ファイルを読み取ろうとしていますが、多くの構成の問題があります。私はEclipseとJavaを使用しています。これが私のコードの要約版です:

org.geotools.coverageio.gdal.dted.DTEDReader をインポートします。

実行すると、コンソールに「警告: Kakadu ネイティブ ライブラリの読み込みに失敗しました」というメッセージが表示されます。次に、UnsatisfiedLinkError のスタック トレースの出力に進みます。

私のシステム パスには次のものが含まれます: C:_path C:\Program Files\gdal-1.9.0 C:\%JAVA_HOME%\bin C:\Program Files\Common Files\ESRI\Raster\bin\ntx86

その最後のものには、名前に kakadu が含まれているマシンで見つけた唯一の dll を含む、多くの dll が含まれています。

C:_path にこれがあります:
gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
gdal.jar

これらのファイルは、Eclipse プロジェクトのルートにもコピーされました。私のEclipseビルドパスには、gdal.jarと、C:\Program Files\geotools-2.7.4にあるすべてのjarが含まれています

私のEclipseプロジェクトのルートには、これがあります:

gdal19.dll
gdaljni.dll
ogrjni.dll
osrjni.dll
gdalconstjni.dll
kakaducoresys.dll

そうそう、別の環境変数が定義されています: GDAL_DATA は "C:\Program Files\gdal-1.9.0" に設定されています

DTEDReader が必要なライブラリを見つけられない理由を誰か説明してくれませんか?

0 投票する
1 に答える
4201 参照

dll - Jni + 不満足なリンク エラー + 依存ライブラリが見つからない

別の dll に依存する dll を使用する JNI アプリケーションを作成しようとしています。両方のdllを同じフォルダーに配置しました。しかし、それでもJavaプログラムを実行するとエラーが発生します

原因: java.lang.UnsatisfiedLinkError: \eclipse_workspaces\Learning\Lesson93_Beyond_Test3\bin\QuestionSDK-1.0.dll: 依存ライブラリが見つかりません

依存ライブラリへの呼び出しを削除すると、ライブラリが正常に読み込まれるため、パスが正しいことがわかります。何が欠けていますか。助けてください。

0 投票する
1 に答える
302 参照

android - RedLaser Sdk UnsatisfiedLinkError

AndroidライセンスのRedLaserSDKを使用しています。たくさんのことを試しましたが、それでもUnsatisfiedLinkErrorが発生します。私を助けてください。

スタックトレースは以下のとおりです。