问题标签 [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 - 运行 javacpp 时出现 java.lang.UnsatisfiedLinkError

我正在使用 javacpp 从 Java 访问 cpp。

我已经尝试过文档中提供的示例

cpp代码:

Java代码:

如果我在 Intellij Idea 中运行 NativeLibrary.java 文件,我会收到以下错误:

如何在 Intellij Idea 中运行示例 javacpp,我确实尝试使用 Readme.md 中的 guilde 之后的命令行没有问题。感谢您的支持!

0 投票
1 回答
480 浏览

java-native-interface - JavaCPP 编译示例回调函数的问题

我只是想从网页测试回调函数示例。

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

在文件 foo.cpp

Foo.java 函数 foo 执行的地方

在 Linux x86_64 下使用这些命令构建和运行此示例代码:

在第三个命令中,我得到了错误:

为什么我会得到它?

0 投票
1 回答
267 浏览

java - Javacpp: Can't manage to add libfdk_aac to ffmpeg presets

We're trying to recompile ffmpeg project using javacpp and with the --enable-libfdk-aac enabled, the build works, but we can't use libfdk_aac to decode an audio_stream.

We are calling : avcodec_find_decoder_by_name("libfdk_aac") and getting the following result:

Exception: avcodec_find_decoder() error: Unsupported audio format or codec not found: 86018.

We've modified the ccpbuild.sh in the ffmpeg directory in the following way:

  1. Adding the instruction: --enable-libfdk-aac in the ENABLE variable

  2. Getting the dependency : download https://github.com/mstorsjo/fdk-aac/tarball/master fdk-aac.tar.gz

  3. Unpacking it: tar -xzvf ../fdk-aac.tar.gz

  4. Installing it: cd ../mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix=$INSTALL_PATH --disable-shared --with-pic make -j $MAKEJ make install

I'm running all this on a macosx platform.

The process seems to be ok, and I can compile the project properly with maven, but then it does not work when I'm calling the codec "libfdk_aac". I was wondering if I'm doing something wrong, or is there any other place where I need to register this codec ? (especially since this is an external library)

Many Thanks

0 投票
1 回答
354 浏览

maven - 使用 JavaCV 并部署在 SAP HANA Cloud Platform 上的 Web 应用程序错误

我目前正在使用 JavaCV 开发人脸识别 Web 应用程序。我通过 websockets 在客户端浏览器上发送实时网络摄像头流的快照,面部识别系统在服务器端完成所有其余工作。但是,在 HCP 上部署我的应用程序时收到以下错误。

我已经在我的项目 lib 文件夹中添加了所有与 javacv/javacpp 相关的 jar 文件,这是我的pom.xml

有任何想法吗?提前致谢。

0 投票
1 回答
145 浏览

javacpp - Javacpp:无法链接 jar 内的共享库

我正在尝试将使用共享库存档的 jar 和 javacpp 生成的 jni 共享库链接起来。那可行吗?

我有 3 个 jar - javacpp.jar - lib.jar(.h 文件,libCube.so,libjniJavaCube.so) - Cube.jar(类)

当我将共享库放在与我的 jar 相同的级别时,我运行该问题没有问题。但是,当它们装在罐子里时,我似乎无法链接它们。有人想吗?

我读了这个链接JavaCPP, UnsatisfiedLinkError when native library is archived in JAR但 Samuel 对“链接”参数以及如果库被打包在 jar 中如何链接有一点看法。:(

0 投票
0 回答
3404 浏览

android - java.lang.UnsatisfiedLinkError:dlopen 失败:找不到库“../../lib/libtbb.so”

我编译了人脸识别并在 LG Leon (armv7I) 上成功运行。当我在具有类似 CPU 架构(armv7I)的MyPhone UNO上安装应用程序时,出现以下错误:

当我查看com.googlecode.javacv.cpp.opencv_contrib(由 Android Studio 反编译)时,链接路径的值为linkpath = {"../lib/"}.

这似乎是关于错误的问题。

有没有办法编译 javacv.jar 并可能在这里调整?

我可能错了,这部分导致错误,你知道还有哪里吗?

0 投票
1 回答
475 浏览

android - dlopen 失败:找不到“libjniavutil.so”引用的符号“av_version_info”

javacv 有一个android“RecordActivity.java”的样本,我测试过它,它与三星设备完美兼容,但不适用于华为honor 6。我使用的是javacv 1.2版和最新的二进制文件。错误:

我试过这个https://github.com/bytedeco/javacv/issues/333但仍然出错

我正在使用 android studio 2.1.2,这是我的 Gradle.Build:

这是我的 libs 文件夹:

在此处输入图像描述

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 是否提供无需复制即可提供和返回的解决方案?(我知道这是一个简单的byte[]