我试图在NDK中整合OpenCV和dlib-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