android - 带有 Android NDK undefined reference 的 OpenCV

标签 android c++ opencv android-ndk

我正在尝试在 android 上使用 opencv(仅限 ndk)。我编译了 armeabi 的 git 存储库的最新源代码。 (基于:Building_OpenCV4Android_from_trunk)

但我遇到了这个错误(使用 ndk-build):

error: undefined reference to 'cv::Mat::deallocate()'
error: undefined reference to 'cv::fastFree(void*)'
error: undefined reference to 'cv::_OutputArray::_OutputArray(cv::Mat&)'
error: undefined reference to 'cv::Mat::copyTo(cv::_OutputArray const&)'
error: undefined reference to 'cv::Mat::inv(int) const'

简单的测试代码:

cv::Mat testMat = cv::Mat(cv::Matx44d
(
    1.0, 0.0, 0.0, 0.0,
    0.0, 1.0, 0.0, 0.0,
    0.0, 0.0, 1.0, 0.0,
    0.0, 0.0, 0.0, 1.0
));
cv::Mat testMatInv = testMat.inv();

我的 Android.mk:

LOCAL_C_INCLUDES :=  $(LOCAL_PATH)/../../../../libs/opencv/include
LOCAL_LDLIBS += -L../../../../libs/opencv/lib/android/armeabi
LOCAL_LDLIBS += -llog -lGLESv2 –lz
LOCAL_STATIC_LIBRARIES := libzip libpng libjpeg freetype
LOCAL_STATIC_LIBRARIES += libopencv_calib3d libopencv_contrib libopencv_core libopencv_features2d libopencv_flann libopencv_highgui libopencv_imgproc libopencv_legacy libopencv_ml libopencv_nonfree libopencv_objdetect libopencv_photo libopencv_stitching libopencv_ts libopencv_video libopencv_videostab

有人知道吗?谢谢

最佳答案

我现在开始工作了。 我忘了像这样在 Android.mk 中添加预构建库:

#same for all other openCV Libs
LOCAL_MODULE := libopencv_calib3d
LOCAL_SRC_FILES := ../../opencv/lib/android/$(TARGET_ARCH_ABI)/libopencv_calib3d.a
include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)

.....
LOCAL_STATIC_LIBRARIES += libopencv_contrib libopencv_legacy libopencv_ml libopencv_stitching libopencv_nonfree libopencv_objdetect libopencv_videostab libopencv_calib3d libopencv_photo libopencv_video libopencv_features2d libopencv_highgui libopencv_androidcamera libopencv_flann libopencv_imgproc libopencv_ts libopencv_core

关于android - 带有 Android NDK undefined reference 的 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649710/

相关文章:

android - 动画第二次不起作用

python - 如何在 OpenCV 上使用 HSL 保持亮度阈值?

android - Cordova FileTransfer 将文件公开给其他应用程序

android - SD卡中的SQLite数据库打不开

c++ - 当然有办法获得当前文件夹 View 的完整 View 下拉菜单吗?

c++ - 是什么让 Boost `interval_map` 忽略插入?

c++ - 方向梯度直方图

python - 从阈值图像中找到轮廓

Android - 读取 arrays.xml

c++ - 通告包括依赖/转发声明