openCV与android NDK中共享的dlib' c ++的gnustl冲突

时间:2017-06-21 07:21:48

标签: android c++ opencv android-ndk dlib

我试图在NDK中整合OpenCVdlib-android。 我能够让OpenCV和dlib在单独的项目中工作,但是当它们都被集成时,项目就会中断。

这是dlib的gradle配置

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
    ...
    externalNativeBuild {
        cmake {
            cppFlags "-std=c++11 -frtti -fexceptions"
            arguments "-DANDROID_PLATFORM=android-16",
                    "-DANDROID_TOOLCHAIN=clang",
                    "-DANDROID_STL=c++_shared",
                    "-DANDROID_CPP_FEATURES=rtti exceptions"
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ["src/main/jniLibs/dlib/libs"]
        }
    }
}
...

当我整合openCV时,我得到了

  

未定义引用' cv :: CascadeClassifier :: detectMultiScale'

根据this answer的解决方案是将stl设为gnustl_shared

带有gnustl_shared的dlib会出现std::exceptions未找到的错误。

我如何前进并整合两者?

我尝试在CMake上使用c++_shared重新编译OpenCV,但遇到了

  

致命错误:iostream:没有这样的文件或目录    #include

0 个答案:

没有答案