【问题标题】:android ndk CDT build error for using OpenCV, OpenCL, OpenGL使用 OpenCV、OpenCL、OpenGL 的 android ndk CDT 构建错误
【发布时间】:2015-05-19 14:34:32
【问题描述】:

我正在开发实时 FaceDetection 应用。

最初,这个应用程序使用 OpenGL 来读取/写入图像,并使用 OpenCL 与 JNI 进行并行处理。并且这个应用程序运行正常。

目前,我想导入 OpenCV 以使用多个 OpenCV 函数和 Mat 数据类型。所以,在我的项目中设置 OpenCV 库。

但是,此项目无法构建 .so 文件。


./obj/local/armeabi-v7a/objs/JNIGLCL/JNIpr.o:在函数cv::Mat::release()': C:/Users/CVLAB/Desktop/adt-bundle-windows-x86_64-20140702/OpenCV-2.4.9-android-sdk/sdk/native/jni/include/opencv2/core/mat.hpp:367: undefined reference tocv::Mat::deallocate()' ./obj/local/armeabi-v7a/objs/JNIGLCL/JNIpr.o:在函数~Mat': C:/Users/CVLAB/Desktop/adt-bundle-windows-x86_64-20140702/OpenCV-2.4.9-android-sdk/sdk/native/jni/include/opencv2/core/mat.hpp:278: undefined reference tocv::fastFree(void*)' collect2: ld 返回 1 个退出状态 make: *** [obj/local/armeabi-v7a/libJNIGLCL.so] 错误 1

**** 构建完成 ****


OpenCV.mk 文件

LOCAL_PATH:= $(call my-dir)

OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC

include C:/Users/CVLAB/Desktop/adt-bundle-windows-x86_64-20140702/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk

LOCAL_MODULE     := JNIGLCL
LOCAL_CXXFLAGS   += -fno-exceptions
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_LDLIBS     := -lGLESv2 -lEGL -ldl -llog -landroid -lOpenCL
LOCAL_SRC_FILES  := JNIpr.cpp

include $(BUILD_SHARED_LIBRARY)

我包括 OpenCV 库。

属性 - Android - 库

我设置了属性 - C/C++ General - Paths and Symbols - GNU C++ 添加这个绝对路径: C:/Users/CVLAB/Desktop/adt-bundle-windows-x86_64-20140702/OpenCV-2.4.9-android-sdk/sdk/native/jni/include

但是,控制台打印错误...

【问题讨论】:

    标签: android opencv android-ndk java-native-interface eclipse-cdt


    【解决方案1】:

    试试吧

    LOCAL_LDLIBS += -lGLESv2 -lEGL -ldl -llog -landroid -lOpenCL
    

    【讨论】:

    • 天哪。 T.T 非常感谢。你的建议是值得的。这个问题让我痛苦了 2 周。我真的很欣赏它。谢谢,谢谢。
    • 如果对你有用,你也可以接受这个答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多