問題タブ [javacpp]
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.
java - java.lang.UnsatisfiedLinkError when run javacpp
I am using javacpp to access cpp from Java.
I have tried the example provided in the documentation
cpp code:
Java code:
I am getting following error if I run NativeLibrary.java file in Intellij Idea:
How can I run example javacpp in Intellij Idea, I did try with command line following guilde in Readme.md without problem. Thank for your support!
java-native-interface - コールバック関数の例をコンパイルする JavaCPP の問題
Webページからコールバック関数の例をテストしたかっただけです。
https://github.com/bytedeco/javacpp#creating-callback-functions
ファイル foo.cpp 内
関数 foo が実行される Foo.java
Linux x86_64 で次のコマンドを使用して、このサンプル コードをビルドして実行します。
3 番目のコマンドで、エラーが発生しました。
なぜ私はそれを得るのですか?
java - Javacpp: libfdk_aac を ffmpeg プリセットに追加できません
javacpp を使用して ffmpeg プロジェクトを再コンパイルしようとしています。これを--enable-libfdk-aac
有効にすると、ビルドは機能しますが、libfdk_aac を使用して audio_stream をデコードすることはできません。
: を呼び出しavcodec_find_decoder_by_name("libfdk_aac")
て、次の結果を得ています。
Exception: avcodec_find_decoder() error: Unsupported audio format or codec not found: 86018.
ffmpeg ディレクトリの ccpbuild.sh を次のように変更しました。
命令の追加:
--enable-libfdk-aac
ENABLE 変数内依存関係の取得:
download https://github.com/mstorsjo/fdk-aac/tarball/master fdk-aac.tar.gz
開梱:
tar -xzvf ../fdk-aac.tar.gz
インストール:
cd ../mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic make -j $MAKEJ make install
これらすべてを macosx プラットフォームで実行しています。
プロセスは問題ないようで、maven を使用してプロジェクトを適切にコンパイルできますが、コーデック「libfdk_aac」を呼び出すと機能しません。私は何か間違ったことをしているのだろうか、それともこのコーデックを登録する必要がある他の場所はありますか? (特にこれは外部ライブラリであるため)
どうもありがとう
javacpp - Javacpp: jar 内で共有ライブラリをリンクできません
共有ライブラリと javacpp で生成された jni 共有ライブラリでアーカイブされた jar をリンクしようとしています。それは可能ですか?
私は3つのjarを持っています - javacpp.jar - lib.jar (.hファイル、libCube.so、libjniJavaCube.so) - Cube.jar (クラス)
jar と同じレベルに共有ライブラリをドロップしても問題はありません。ただし、瓶に詰めるとリンクできないようです。誰か考えますか?
このリンクJavaCPP、ネイティブライブラリがJARにアーカイブされている場合のUnsatisfiedLinkErrorを読みましたが、サミュエルは「リンク」パラメーターと、ライブラリがjarにパックされている場合のリンク方法について少し説明しています。:(
android - java.lang.UnsatisfiedLinkError: dlopen に失敗しました: ライブラリ "../../lib/libtbb.so" が見つかりません
私は顔認識をコンパイルし、LG Leon (armv7I) で正常に実行されました。同様の CPU アーキテクチャ (armv7I) を持つMyPhone UNOにアプリをインストールすると、次のエラーが発生します。
(Android Studioによって逆コンパイルされている)を調べたcom.googlecode.javacv.cpp.opencv_contrib
ところ、linkpathの値はlinkpath = {"../lib/"}
.
これは、エラーに関する問題のように思われる場合があります。
javacv.jar をコンパイルして、ここを微調整する方法はありますか?
この部分でエラーが発生するのは間違っているかもしれませんが、他にどこにあるのか分かりますか?
intrinsics - LLVM-IR: javacpp で組み込み関数を呼び出す方法
javacppで組み込み関数を呼び出す方法は? たとえば、llvm.sadd.with.overflow 組み込み関数を呼び出したいとします。
java - JavaCpp Tessearact で単語レベルのバウンディング ボックスを取得する
javacpp tesseract から各単語の境界ボックスを抽出しようとしています。これは境界ボックスの呼び出しのようです (以下の私の完全なコード):
RIL_WORD は、単語、文、および段落に対して調整できる反復子レベルです。座標は IntPointers (javacpp に含まれるクラス) です。
API によると、これはバウンディング ボックスの座標を返しますが、代わりにブール値を返します。この時点で、境界ボックスがあることはわかっていますが、実際の座標を取得することはできません。バウンディングボックスの長方形をJava cpp tessaractから取得する方法を知っている人はいますか? 助けてくれてありがとう。例を見つけるのに非常に苦労したため、個々の単語と信頼レベルを取得するための作業コードを以下に投稿しました。
java - データコピーを回避する JavaCPP に対処するには?
私は JavaCPP を使用して Java アプリケーションでいくつかの C++ ライブラリを利用していますが、操作されたデータはビッグ データです。したがって、私のコードは正常に動作しますが、メモリに優しくありません (高速に動作させる必要があります)。
byte[][]
私はネイティブの部分に提供する大きなものを持っています。- ターゲットのネイティブ関数は次のようなものです
nativeFunction(PointerPointer param)
-> Doc - (正確には、これは
PointerPointer<BytePointer>
期待される型なので、BytePointer
asbyte[][]
のリストは のリストですbyte[]
) -> Doc
予想されるパラメーターを次のように初期化します。
問題は、ドキュメントを参照すると、提供されたデータを使用BytePointer
しての呼び出しによって作成されたそれぞれについてPointerPointer<BytePointer>(...)
、メモリのラッピングではなく、コピーが作成されることです。
コピーを避ける方法はありますか?
編集:
byte[][]
それ以外の場合、JNI は Give AND return WITHOUT COPYING ITのソリューションを提供しますか? (私はそれが単純であることを知っていますbyte[]
)