Неопределенные ссылки Ошибка OpenCv Android с ndk 18 (c ++ _ static) - PullRequest
0 голосов
/ 21 сентября 2018

Я обновил Android Studio для использования ndk18 и изменил:

APP_STL := c++_static

Это привело к куче ошибок компоновщика в OpenCv:

../thirdparty/opencv-android-sdk/sdk/native/jni/../libs/arm64-v8a/libopencv_objdetect.a(detection_based_tracker.cpp.o): In function `cv::DetectionBasedTracker::updateTrackedObjects(std::vector<cv::Rect_<int>, std::allocator<cv::Rect_<int> > > const&)':
detection_based_tracker.cpp:(.text._ZN2cv21DetectionBasedTracker20updateTrackedObjectsERKSt6vectorINS_5Rect_IiEESaIS3_EE+0xad8): undefined reference to `std::__throw_length_error(char const*)'
../thirdparty/opencv-android-sdk/sdk/native/jni/../libs/arm64-v8a/libopencv_objdetect.a(detection_based_tracker.cpp.o): In function `_GLOBAL__sub_I_detection_based_tracker.cpp':
detection_based_tracker.cpp:(.text.startup._GLOBAL__sub_I_detection_based_tracker.cpp+0x18): undefined reference to `std::ios_base::Init::Init()'
detection_based_tracker.cpp:(.text.startup._GLOBAL__sub_I_detection_based_tracker.cpp+0x1c): undefined reference to `std::ios_base::Init::~Init()'
detection_based_tracker.cpp:(.text.startup._GLOBAL__sub_I_detection_based_tracker.cpp+0x34): undefined reference to `std::ios_base::Init::~Init()'

Как это исправить?

Я использую OpenCv Android SDK 3.1.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

вам нужно пересобрать opencv на основе NDK 18, я сделал это с opencv 2.4

https://github.com/2666fff/opencv-for-android

0 голосов
/ 21 сентября 2018

Вам нужно пересобрать opencv для libc ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...