opencv3.3.0: неопределенная ссылка на cv :: imwrite - android - PullRequest
0 голосов
/ 05 декабря 2018

В Android Project, с которым я сталкиваюсь, есть OpenCV и пользовательская реализация некоторых классов cpp для обработки изображений.Я включаю opencv-3-3-0-android-sdk в CMakeLists.txt, который используется для создания собственных компонентов.

 include_directories( ../opencv-3-3-0-android-sdk/sdk/native/jni/include/)
 add_library( lib_opencv
         SHARED
         IMPORTED )
 set_target_properties( lib_opencv
                   PROPERTIES IMPORTED_LOCATION
                   ${PROJECT_SOURCE_DIR}/../opencv-3-3-0-android-sdk/sdk/native/libs/${ANDROID_ABI}/libopencv_java3.so )

При вызове следующего метода выдает ошибку:

void saveMat(const cv::Mat& mat, std::string dst){
        cv::imwrite(dst, mat);//throws error - undefined reference
}

Получение следующей ошибки при запускепроект, который утверждает, что не может ссылаться на imwrite.Хотя

 error: undefined reference to 'cv::imwrite(cv::String const&, cv::_InputArray const&, std::__ndk1::vector<int, std::__ndk1::allocator<int> > const&)'.

Хотя при переходе к этой функции использование ctrl приводит меня к правильной функции, которая находится внутри opencv2/imgcodecs.hpp.

 CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
          const std::vector<int>& params = std::vector<int>());

Мне это кажется ошибкой связывания.Есть ли идея, почему при запуске приложения выдает вышеупомянутую ошибку?

...