首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将opencv与安卓原版3.4.1版的C++集成

如何将opencv与安卓原版3.4.1版的C++集成
EN

Stack Overflow用户
提问于 2019-06-05 10:20:20
回答 1查看 346关注 0票数 0

无法将opencv与NDk集成已存在的项目

  1. 在现有项目的项目中导入了模块OpenCv。
  2. 然后我创建了一个本机libs.cpp和cMakelists.txt文件Created.It运行良好3,然后在Cmakelists.txt中添加一个opencvlib并添加openc2.open.hpp。 失败:生成失败,出现异常。
代码语言:javascript
复制
- What went wrong: Execution failed for task ':app:externalNativeBuildDebug'.   Build command failed.   Error while executing process C:\Users\Lenovo\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe with arguments {--build C:\Users\Lenovo\Pictures\jp\crop\Native\app.externalNativeBuild\cmake\debug\x86\_64 --target native-lib}   [1/2] Building CXX object CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o   FAILED: CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o    C:\Users\Lenovo\AppData\Local\Android\sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86\_64\bin\clang++.exe --target=x86\_64-none-linux-android21 --gcc-toolchain=C:/Users/Lenovo/AppData/Local/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86\_64 --sysroot=C:/Users/Lenovo/AppData/Local/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86\_64/sysroot  -Dnative\_lib\_EXPORTS  -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -stdlib=libc++  -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o -MF CMakeFiles\native-lib.dir\src\main\cpp\native-lib.cpp.o.d -o CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o -c ../../../../src/main/cpp/native-lib.cpp   ../../../../src/main/cpp/native-lib.cpp:3:10: fatal error: 'opencv2/core/core.hpp' file not found   include       ^~~~~~~~~~~~~~~~~~~~~~~   please HElp me

EN

回答 1

Stack Overflow用户

发布于 2019-06-08 14:05:23

opencv提到,我们需要遵循以下步骤在本机代码中添加opencv。

代码语言:javascript
复制
// Native C++ support (necessary to use OpenCV in native code of application only):
//
// - Use find_package() in app/CMakeLists.txt:
//
//   find_package(OpenCV 3.4 REQUIRED java)
//   ...
//   target_link_libraries(native-lib ${OpenCV_LIBRARIES})
//
// - Add "OpenCV_DIR" and enable C++ exceptions/RTTI support via app/build.gradle
//   Documentation about CMake options: https://developer.android.com/ndk/guides/cmake.html
//
//   defaultConfig {
//       ...
//       externalNativeBuild {
//           cmake {
//               cppFlags "-std=c++11 -frtti -fexceptions"
//               arguments "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" // , "-DANDROID_ARM_NEON=TRUE"
//           }
//       }
//   }
//
// - (optional) Limit/filter ABIs to build ('android' scope of 'app/build.gradle'):
//   Useful information: https://developer.android.com/studio/build/gradle-tips.html (Configure separate APKs per ABI)
//
//   splits {
//       abi {
//           enable true
//           reset()
//           include 'armeabi-v7a' // , 'x86', 'x86_64', 'arm64-v8a'
//           universalApk false
//       }
//   }
//
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56458594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档