問題タブ [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.
visual-studio-2012 - 不満の不満の原因
としてC++
コンパイルするコードがあります。Visual Studio 2012
.dll
次に、System.loadLibrary
メソッドを使用してそのライブラリを Java アプリケーションにロードします。
Visual Studioで古いバージョンのライブラリを問題なくコンパイルして、多くの時間を費やしました。
今、VS2012 でコンパイルすると、次のエラーが発生します。
.dll をチェックしましたが、Dependecy Walker
依存関係はありません。
それを機能させるために何ができるか本当にわかりません。
ヒントを教えてください。
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 テストだけです。UnsatisfiedLinkError
MyLibraryClass
(製品構成を使用して) plugin-2 を実行し、 instanceiate を実行するとMyClass
、ネイティブ ライブラリは正常に読み込まれますが、UnsatisifiedLinkError
when MyClass
instantiatesが発生しますMyLibraryClass
。この場合、投稿で説明されているクラスを使用して取得した出力に基づいて、ライブラリがロードされていると思います。ロードされている JNI ライブラリのリストを取得するにはどうすればよいですか?
注: 私は Eclipse 3.6.1 を使用しています。
これは、私がやろうとしていることの本質を示すコード サンプルです。
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/3
(setarg/3
これも機能しません)
ここに私のプロローグコードがあります:
JPL
fromを使用しようとしましSWI Prolog
たが、Eclipse がライブラリを正しく見つけることができなかったという重大な例外が指摘されたため、実行できませんでした。私は常に次の例外のいずれかを取得します。
これとこのガイドに従った後でも、問題を解決できませんでした。Windows (32 ビット) でも Ubuntu (64 ビット) でもありません。
JPL
どうすれば実行できるようになるか、またはどのように使用できるようになるかの解決策はありますnb_setarg/3
か? 今まで、結果が出ずに1日半過ごしました。かなりイライラ...
java - UnsatisfiedLinkErrorによるJava CDFファイルの解析
私はJavaでCDF(マスターカードが使用するファイル)ファイルパーサーに取り組んでおり、ここにあるAPIを使用しています。この API を使用するには、jar ファイルが必要です。
getFile() メソッドで処理する必要があるため、この例外がどのように発生するのかわかりません..グーグルで検索しましたが、問題が何であるかまだわかりません..誰かが私を正しい場所に向けることができれば素晴らしいだろう方向。スタックトレースをたどると..ライブラリに問題があるようです。
API へのリンクは、http: //cdf.gsfc.nasa.gov/cdfjava_doc/cdf34/にあります。
CDF ファイルを開こうとすると、プログラムの実行後に次のエラーが発生します。
ここに私のソースコードがあります:
私が実行するコマンドは次のとおりです。
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 を検索してきましたが、何も機能していないようです。
android-ndk - Android NDK でネイティブ コード ビルドを呼び出すと、UnsatisfiedLinkError が発生する
ネイティブ関数を呼び出すために使用している単純な Android アプリにボタンがあります。メイン アクティビティのボタンは、HADriver.java の関数を呼び出します。この関数は、DriverAdapter.cpp の JNI 関数を呼び出します。次に、その JNI 関数が Driver.cpp のネイティブ関数を呼び出します。testCout
以下は、 でボタンがクリックされたときに機能する各ファイルの部分ですMainActivity
。
MainActivity のボタン:
HADriver.java
DriverAdapter.cpp
Driver.cpp
ただし、次のエラーが発生し続け、ボタンをクリックするたびにアプリがクラッシュしtestCout
ます。
何を与える?このネイティブ コールが機能しない理由がわかりません。
android - java.lang.UnsatisfiedLinkError: debugLevel
わかりました、私はこのエラーを理解しようとして左右に投稿を行ってきました..いくつかのエラーを修正することができましたが、これは私を夢中にさせています..ほとんど情報がありません..または少なくとも何もありません私には意味があります。
(startBluetoothSco を介して) Bluetooth レコーディングを使用するように Mangler アプリを作り直そうとしていますが、Bluetooth 機能を組み込む前にオリジナルが機能していることを確認したいと思います。
編集:おそらく私の問題はjni_wrappers.cにあると思います.最初の3つの#includeは未解決です..元のビルドはLinuxシステム上にあったため、jni.h、stdint.h、およびventrilo3.hを探しています
java - Netbeans に DLL をロードする
Netbeans 7.0.1 で DLL ファイルをロードしようとしていますが、
コードは
最初の行にエラーはありません。この行はプロバイダーのデモにありました。別の 2 つの dll をロードする必要があります。次の 2 行を追加し、ライブラリに dll ファイルも追加しましたが、エラーが発生しました。
同じ/関連する質問に答えましたが、解決策がありませんでした。だから、もし誰かが持っているなら、私に提案をしてください。
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
クライアントはライブラリをロードできます
- System.load と環境変数 LD_LIBRARY_PATH
- 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 を設定すると、次のように表示されます: