【发布时间】: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