問題タブ [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 投票する
0 に答える
148 参照

visual-studio-2012 - 不満の不満の原因

としてC++コンパイルするコードがあります。Visual Studio 2012.dll

次に、System.loadLibraryメソッドを使用してそのライブラリを Java アプリケーションにロードします。

Visual Studioで古いバージョンのライブラリを問題なくコンパイルして、多くの時間を費やしました。

今、VS2012 でコンパイルすると、次のエラーが発生します。

.dll をチェックしましたが、Dependecy Walker依存関係はありません。

それを機能させるために何ができるか本当にわかりません。

ヒントを教えてください。

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

java - UnsatisfiedLinkError: ライブラリは読み込まれますが、まだリンク エラーが発生します

2 つの Eclipse プラグインがあります。

  • plugin-1: .jar のパッケージを他のプラグインに提供します。(C++ ライブラリの Java ラッパー) このプラグインは、[ファイル] -> [新規] -> [その他] -> [既存の JAR アーカイブからのプラグイン] をクリックして作成されました。

  • plugin-2: plugin-1 のネイティブ ライブラリ .so (Bundle-NativeCodeディレクティブは MANIFEST.MF にあります) を持ち、plugin-1 からクラスをインスタンス化します。

(実際に.soをplugin-1に入れてみましたが、.soを含むプラグインプロジェクトの外で、plugin-1 MANIFEST.MFのBundle-NativeCodeディレクティブを使用しても、ライブラリをロードできないようです。 plugin-1 を使用するすべてのプラグインに .so をバンドルする必要があると思います。)

plugin-2 からインスタンス化する plugin-2 から JUnit テストを実行しています。MyClassこれは、plugin-1 からインスタンス化MyLibraryClassします。MyClassネイティブ ライブラリを正常にロードし、ネイティブ ライブラリのロードまたはインスタンス化から例外がスローされることMyLibraryClassなくインスタンス化します。この場合、プラグインは実行していません。JUnit テストだけです。UnsatisfiedLinkErrorMyLibraryClass

(製品構成を使用して) plugin-2 を実行し、 instanceiate を実行するとMyClass、ネイティブ ライブラリは正常に読み込まれますが、UnsatisifiedLinkErrorwhen MyClassinstantiatesが発生しますMyLibraryClass。この場合、投稿で説明されているクラスを使用して取得した出力に基づいて、ライブラリがロードされていると思います。ロードされている JNI ライブラリのリストを取得するにはどうすればよいですか?

注: 私は Eclipse 3.6.1 を使用しています。

これは、私がやろうとしていることの本質を示すコード サンプルです。

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

prolog - Java の gnu.prolog で (nb_)setarg/3 を使用する

現在、gnu.prolog ( http://www.gnu.org/software/gnuprologjava/ ) を使用して Java からプロローグを使用しようとしています。

CapelliCの多大な助けのおかげで、私の目的に最適なプロローグ プログラムが完成しました。問題は、gnu.prolog が をサポートしておらず、サポートreverse/2していないことnb_setarg/3です。Java はエラーをスローします。

reverse/2自分で実装するのは大きな問題ではありませんが、置き換える方法がわかりませんnb_setarg/3setarg/3これも機能しません)

ここに私のプロローグコードがあります:

JPLfromを使用しようとしましSWI Prologたが、Eclipse がライブラリを正しく見つけることができなかったという重大な例外が指摘されたため、実行できませんでした。私は常に次の例外のいずれかを取得します。

これこのガイドに従った後でも、問題を解決できませんでした。Windows (32 ビット) でも Ubuntu (64 ビット) でもありません。

JPLどうすれば実行できるようになるか、またはどのように使用できるようになるかの解決策はありますnb_setarg/3か? 今まで、結果が出ずに1日半過ごしました。かなりイライラ...

0 投票する
3 に答える
607 参照

java - UnsatisfiedLinkErrorによるJava CDFファイルの解析

私はJavaでCDF(マスターカードが使用するファイル)ファイルパーサーに取り組んでおり、ここにあるAPIを使用しています。この API を使用するには、jar ファイルが必要です。

getFile() メソッドで処理する必要があるため、この例外がどのように発生するのかわかりません..グーグルで検索しましたが、問題が何であるかまだわかりません..誰かが私を正しい場所に向けることができれば素晴らしいだろう方向。スタックトレースをたどると..ライブラリに問題があるようです。

API へのリンクは、http: //cdf.gsfc.nasa.gov/cdfjava_doc/cdf34/にあります。

CDF ファイルを開こうとすると、プログラムの実行後に次のエラーが発生します。

ここに私のソースコードがあります:

私が実行するコマンドは次のとおりです。

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

java - JACOB および jre 1.7 での UnsatisfiedLinkError

JACOB を使用して iTunes にアクセスするプログラムをまとめました... Eclipse では問題なく動作しますが、エクスポートしてコマンド プロンプトで実行すると、jacob-1.17-M2-x86.dll が私のjava.library.pathにありません。

私はそれをsystem32に入れて、ネイティブライブラリの場所をそのディレクトリに設定しようとしました... system.setpropertiesトリックを使用しようとしました...そしてJava -dを適切に使用する方法を理解できませんでした

他に何ができますか?4 時間以上この互換性を取得しようとして Web を検索してきましたが、何も機能していないようです。

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

android-ndk - Android NDK でネイティブ コード ビルドを呼び出すと、UnsatisfiedLinkError が発生する

ネイティブ関数を呼び出すために使用している単純な Android アプリにボタンがあります。メイン アクティビティのボタンは、HADriver.java の関数を呼び出します。この関数は、DriverAdapter.cpp の JNI 関数を呼び出します。次に、その JNI 関数が Driver.cpp のネイティブ関数を呼び出します。testCout以下は、 でボタンがクリックされたときに機能する各ファイルの部分ですMainActivity

MainActivity のボタン:

HADriver.java

DriverAdapter.cpp

Driver.cpp

ただし、次のエラーが発生し続け、ボタンをクリックするたびにアプリがクラッシュしtestCoutます。

何を与える?このネイティブ コールが機能しない理由がわかりません。

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

android - java.lang.UnsatisfiedLinkError: debugLevel

わかりました、私はこのエラーを理解しようとして左右に投稿を行ってきました..いくつかのエラーを修正することができましたが、これは私を夢中にさせています..ほとんど情報がありません..または少なくとも何もありません私には意味があります。

(startBluetoothSco を介して) Bluetooth レコーディングを使用するように Mangler アプリを作り直そうとしていますが、Bluetooth 機能を組み込む前にオリジナルが機能していることを確認したいと思います。

編集:おそらく私の問題はjni_wrappers.cにあると思います.最初の3つの#includeは未解決です..元のビルドはLinuxシステム上にあったため、jni.h、stdint.h、およびventrilo3.hを探しています

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

java - Netbeans に DLL をロードする

Netbeans 7.0.1 で DLL ファイルをロードしようとしていますが、

コードは

最初の行にエラーはありません。この行はプロバイダーのデモにありました。別の 2 つの dll をロードする必要があります。次の 2 行を追加し、ライブラリに dll ファイルも追加しましたが、エラーが発生しました。

同じ/関連する質問に答えましたが、解決策がありませんでした。だから、もし誰かが持っているなら、私に提案をしてください。

0 投票する
3 に答える
22390 参照

java - System.loadLibrary が機能しません。チェーンの 2 番目のライブラリの UnsatisfiedLinkError

JNI経由でcpp共有ライブラリlibclient.soを使用するJavaプログラムClient.classがあります。libclient.so は共有としてビルドされ、cpp 共有ライブラリ libhttp.so を使用します。

libclient.so と libhttp.so は、Client.class が配置されているフォルダーに配置されます/home/client/lib64
/home/client/bin

クライアントはライブラリをロードできます

  1. System.load と環境変数 LD_LIBRARY_PATH
  2. System.loadLibrary および -Djava.library.path

最初の方法はうまくいきます。

export LD_LIBRARY_PATH = /home/client/lib64

java -classpath ./bin クライアント

2 番目の方法は失敗します。

java -classpath ./bin -Djava.library.path=./../lib64 Client

libhttp.so を /usr/lib64 に入れると、2 番目の方法で問題なく動作します。

System.loadLibrary を使用している場合、libclient.so が /usr/lib64 で libhttp.so を探しているのはなぜですか? libhttp.so を /usr/lib64 にコピーせずに修正するにはどうすればよいですか?

私の読み込みコード:

追加情報。

ldd で libclient.so をテストすると、次のように表示されます: libhttp.so => 見つかりません export LD_LIBRARY_PATH = /home/client/lib64 を設定すると、次のように表示されます: