【问题标题】:How to integrate opencv with C++ native of android studio version 3.4.1如何将opencv与android studio 3.4.1版的C++原生集成
【发布时间】:2019-10-20 20:27:17
【问题描述】:

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

  1. 我在现有项目的项目中导入了模块 OpenCv
  2. 然后我创建了一个 native-libs.CPP 和 cMakelists.txt 文件 Created.It 工作正常 3.然后在Cmakelists.txt中添加一个opencvlib并添加openc2.open.hpp.I Got this Error

    FAILURE:构建失败并出现异常。

    • 出了什么问题: 任务 ':app:externalNativeBuildDebug' 执行失败。

      构建命令失败。 使用参数执行过程 C:\Users\Lenovo\AppData\Local\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe 时出错 {--build C:\Users\Lenovo\Pictures\jp\crop\Native \app.externalNativeBuild\cmake\debug\x86_64 --target native-lib} [1/2] 构建CXX对象CMakeFiles/native-lib.dir/src/main/cpp/native-lib.cpp.o 失败: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.od -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:致命错误:找不到“opencv2/core/core.hpp”文件 包括 ^~~~~~~~~~~~~~~~~~~~~~~ 请帮帮我

【问题讨论】:

    标签: android opencv4android


    【解决方案1】:

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

    // 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
    //       }
    //   }
    //
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 2023-03-29
      • 2015-03-11
      • 2019-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多