opencv3.3.0:对cv :: imwrite的未定义引用-android

时间:2018-12-05 11:17:49

标签: android android-studio opencv opencv4android

我遇到错误的

Android项目具有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
}

在运行项目时出现以下错误,该错误指出无法引用写入。虽然

 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>());

在我看来,这似乎是链接错误。有什么主意为什么在运行应用程序时会引发上述错误?

0 个答案:

没有答案