XFeatures2D Android - 未定义参考

时间:2016-01-27 13:30:04

标签: android c++ opencv android-ndk

在以下行中获取未定义的引用:

mSiftEx = xfeatures2d::SiftFeatureDetector::create(features, octaveLayers,
        contrastThreshold, edgeThreshold, sigma);

我使用的是自定义Android NDK makefile,如下所示:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES:=on
OPENCV_CAMERA_MODULES:=off
include /opt/opencv-android/sdk/native/jni/OpenCV.mk

LOCAL_C_INCLUDES := /src/main/jni /usr/local/include
LOCAL_MODULE    := SIFT
LOCAL_SRC_FILES := mSIFT.cpp
LOCAL_LDLIBS    += -llog -std=c++11
LOCAL_LIBRARIES = -L/usr/local/lib \
    -lopencv_core \
    -lopencv_imgproc \
    -lopencv_highgui \
    -lopencv_ml \
    -lopencv_video \
    -lopencv_features2d \
    -lopencv_calib3d \
    -lopencv_objdetect \
    -lopencv_contrib \
    -lopencv_legacy \
    -lopencv_flann \
    -lopencv_xfeatures2d

include $(BUILD_SHARED_LIBRARY)

如果我将以下内容添加到LOCAL_LDLIBS:

-L/usr/local/lib -lopencv_xfeatures2d

它使用以下内容编译,但运行时出现错误:

  

java.lang.UnsatisfiedLinkError:dlopen失败:未找到库“libopencv_xfeatures2d.so.3.1”

我在Android的x86_64架构上使用OpenCV 3.1。

0 个答案:

没有答案