Opencv: java模块构建失败

创建于 2015-11-06  ·  3评论  ·  资料来源: opencv/opencv

嗨,我正在使用 opencv_contrib 构建 opencv4android。
我是这样的:
cmake -Wno-dev -DOPENCV_EXTRA_MODULES_PATH=/home/charles/Programs/opencv-3.0.0/opencv_contrib-3.0.0/modules -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake
!=================================================== ================
cmake 的输出在这里:
https://gist.github.com/happycharleswang/345a21b4db88141980fe
!=================================================== ================

make -j8 时出现此错误

扫描目标opencv_java的依赖
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/generator/src/cpp/jni_part.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/generator/src/cpp/Mat.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/generator/src/cpp/converters.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/generator/src/cpp/utils.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/ /core/misc/java/src/cpp/core_manual.cpp.o[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/ /features2d/misc/java/src/cpp/features2d_converters.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/core.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/imgproc.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/ml.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/photo.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/video.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/imgcodecs.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/videoio.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/objdetect.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/bioinspired.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/features2d.cpp.o
[ 90%] 构建 CXX 对象模块/java/CMakeFiles/opencv_java.dir/calib3d.cpp.o
[ 90%] 链接 CXX 共享库 ../../lib/armeabi-v7a/libopencv_java3.so
../../lib/armeabi-v7a/libopencv_text.a(ocr_tesseract.cpp.o):ocr_tesseract。 cpp:函数cv::text::OCRTesseractImpl::run(cv::Mat&, std::string&, std::vectorcv::Rect_>_, 标准::向量>_, int): 错误: 未定义对 'tesseract::TessBaseAPI::GetUTF8Text()' 的引用
collect2:错误:ld 返回 1 个退出状态
make[2]: _* [lib/armeabi-v7a/libopencv_java3.so] 错误 1make[1]: * * [modules/java/CMakeFiles/opencv_java.dir/all] 错误 2
make: *** [全部] 错误 2
!=================================================== ================
有小费吗?

invalid

所有3条评论

1)它与opencv_contrib相关,所以正确的地方在这里:https://github.com/Itseez/opencv_contrib/issues
2) 交叉编译模式下似乎存在不正确的 tesseract 检测。
3) 解决方法是禁用“文本”模块: -DBUILD_opencv_text=OFF

谢谢。

-DBUILD_opencv_java=OFF 有效。

-DBUILD_opencv_text=OFF 也可以。

这意味着 java 模块和 text 模块都与此问题有关。

以下消息与此问题无关:


Buenas Noches, @alalek y @happycharleswang como puedo corregir este 错误:

[ 61%] 生成 opencv-310.jar
/usr/lib/jvm/java-7-openjdk-armhf/jre/lib/rt.jar:inflateFully:流的意外结束

构建失败
java.lang.NoClassDefFoundError: java/math/BigInteger
在 org.apache.tools.ant.types.Resource.getMagicNumber(Resource.java:58)
在 org.apache.tools.ant.types.Resource。(资源.java:48)
在 org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:90)
在 org.apache.tools.ant.Main.runBuild(Main.java:826)
在 org.apache.tools.ant.Main.startAnt(Main.java:235)
在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
引起:java.lang.ClassNotFoundException:java.math.BigInteger
在 java.net.URLClassLoader$1.run(URLClassLoader.java:359)
在 java.net.URLClassLoader$1.run(URLClassLoader.java:348)
在 java.security.AccessController.doPrivileged(本机方法)
在 java.net.URLClassLoader.findClass(URLClassLoader.java:347)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:425)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 更多

总时间:0秒
java.lang.NoClassDefFoundError: java/math/BigInteger
在 org.apache.tools.ant.types.Resource.getMagicNumber(Resource.java:58)
在 org.apache.tools.ant.types.Resource。(资源.java:48)
在 org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:90)
在 org.apache.tools.ant.Main.runBuild(Main.java:826)
在 org.apache.tools.ant.Main.startAnt(Main.java:235)
在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
引起:java.lang.ClassNotFoundException:java.math.BigInteger
在 java.net.URLClassLoader$1.run(URLClassLoader.java:359)
在 java.net.URLClassLoader$1.run(URLClassLoader.java:348)
在 java.security.AccessController.doPrivileged(本机方法)
在 java.net.URLClassLoader.findClass(URLClassLoader.java:347)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:425)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 更多
java/数学/大整数
模块/java/CMakeFiles/opencv_java.dir/build。 make:12619 : 目标“bin/opencv-310.jar”的配方失败
make[2]: * [bin/opencv-310.jar] 错误 1CMakeFiles/Makefile2:14610:目标“模块/java/CMakeFiles/opencv_java.dir/all”的配方失败make[1]: [modules/java/CMakeFiles/opencv_java.dir/all] 错误 2
Makefile:160 :目标“全部”的配方失败
make: ** [全部] 错误 2

Estoy utilizando en una raspberry pi 1 B,para la parte make en OpenCV,espero que me ayuden muchas gracias。

此页面是否有帮助?
0 / 5 - 0 等级