問題タブ [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.

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

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!

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

java-native-interface - コールバック関数の例をコンパイルする JavaCPP の問題

Webページからコールバック関数の例をテストしたかっただけです。

https://github.com/bytedeco/javacpp#creating-callback-functions

ファイル foo.cpp 内

関数 foo が実行される Foo.java

Linux x86_64 で次のコマンドを使用して、このサンプル コードをビルドして実行します。

3 番目のコマンドで、エラーが発生しました。

なぜ私はそれを得るのですか?

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

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 を次のように変更しました。

  1. 命令の追加: --enable-libfdk-aac ENABLE 変数内

  2. 依存関係の取得:download https://github.com/mstorsjo/fdk-aac/tarball/master fdk-aac.tar.gz

  3. 開梱:tar -xzvf ../fdk-aac.tar.gz

  4. インストール: cd ../mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic make -j $MAKEJ make install

これらすべてを macosx プラットフォームで実行しています。

プロセスは問題ないようで、maven を使用してプロジェクトを適切にコンパイルできますが、コーデック「libfdk_aac」を呼び出すと機能しません。私は何か間違ったことをしているのだろうか、それともこのコーデックを登録する必要がある他の場所はありますか? (特にこれは外部ライブラリであるため)

どうもありがとう

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

javacpp - Javacpp: jar 内で共有ライブラリをリンクできません

共有ライブラリと javacpp で生成された jni 共有ライブラリでアーカイブされた jar をリンクしようとしています。それは可能ですか?

私は3つのjarを持っています - javacpp.jar - lib.jar (.hファイル、libCube.so、libjniJavaCube.so) - Cube.jar (クラス)

jar と同じレベルに共有ライブラリをドロップしても問題はありません。ただし、瓶に詰めるとリンクできないようです。誰か考えますか?

このリンクJavaCPP、ネイティブライブラリがJARにアーカイブされている場合のUnsatisfiedLinkErrorを読みましたが、サミュエルは「リンク」パラメーターと、ライブラリがjarにパックされている場合のリンク方法について少し説明しています。:(

0 投票する
0 に答える
3404 参照

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 をコンパイルして、ここを微調整する方法はありますか?

この部分でエラーが発生するのは間違っているかもしれませんが、他にどこにあるのか分かりますか?

0 投票する
0 に答える
91 参照

intrinsics - LLVM-IR: javacpp で組み込み関数を呼び出す方法

javacppで組み込み関数を呼び出す方法は? たとえば、llvm.sadd.with.overflow 組み込み関数を呼び出したいとします。

0 投票する
0 に答える
548 参照

java - JavaCpp Tessearact で単語レベルのバウンディング ボックスを取得する

javacpp tesseract から各単語の境界ボックスを抽出しようとしています。これは境界ボックスの呼び出しのようです (以下の私の完全なコード):

RIL_WORD は、単語、文、および段落に対して調整できる反復子レベルです。座標は IntPointers (javacpp に含まれるクラス) です。

API によると、これはバウンディング ボックスの座標を返しますが、代わりにブール値を返します。この時点で、境界ボックスがあることはわかっていますが、実際の座標を取得することはできません。バウンディングボックスの長方形をJava cpp tessaractから取得する方法を知っている人はいますか? 助けてくれてありがとう。例を見つけるのに非常に苦労したため、個々の単語と信頼レベルを取得するための作業コードを以下に投稿しました。

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

java - データコピーを回避する JavaCPP に対処するには?

私は JavaCPP を使用して Java アプリケーションでいくつかの C++ ライブラリを利用していますが、操作されたデータはビッグ データです。したがって、私のコードは正常に動作しますが、メモリに優しくありません (高速に動作させる必要があります)。

  • byte[][]私はネイティブの部分に提供する大きなものを持っています。
  • ターゲットのネイティブ関数は次のようなものですnativeFunction(PointerPointer param)-> Doc
  • (正確には、これはPointerPointer<BytePointer>期待される型なので、BytePointerasbyte[][]のリストは のリストですbyte[]) -> Doc

予想されるパラメーターを次のように初期化します。

問題は、ドキュメントを参照すると、提供されたデータを使用BytePointerしての呼び出しによって作成されたそれぞれについてPointerPointer<BytePointer>(...)、メモリのラッピングではなく、コピーが作成されることです。

コピーを避ける方法はありますか?

編集:

byte[][] それ以外の場合、JNI は Give AND return WITHOUT COPYING ITのソリューションを提供しますか? (私はそれが単純であることを知っていますbyte[]