我想要移植一个人脸识别的c++的工程到android上,其中用到了openblas的库,我编译好了android用的openblas库以后,再基于这个库和其他cpp文件编译到一起,但编译整个android工程的时候就会提示找不到函数,如图:
我使用的是Android Studio,编译的时候使用的是gradle和ndk一起的自动编译,Android.mk如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_LIBRA := on
LOCAL_INSTALL_MODULES := on
include D:/Tools/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_MODULE := mtcnn
LOCAL_SRC_FILES := mtcnnDetect.cpp mtcnn.cpp network.cpp pBox.cpp
LOCAL_STATIC_LIBRARIES := libopenblas
LOCAL_LDLIBS += -llog -ldl
LOCAL_CFLAGS += -std=c++11
LOCAL_CPP_FEATURES := rtti exceptions
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := openblas
LOCAL_SRC_FILES := D:/Tools/openblas-android/lib/libopenblas.a
include $(PREBUILT_STATIC_LIBRARY)
NDK使用的是最新版本r16的
也尝试了手动编译库再用System.loadLibrary链接进去,结果一样。我已经把静态库连接上了,为什么找不到函数呢?是我连接的方式不对吗?
我也是刚刚开始学习,求指教