Как интегрировать OpenCV с C ++ родной для Android Studio версии 3.4.1 - PullRequest
0 голосов
/ 05 июня 2019

Невозможно интегрировать opencv с уже существующим проектом NDk

  1. Импортировал модуль OpenCv в проект exsists project
  2. Затем я создал файл native-libs.CPP и cMakelists.txt Created. Он работал нормально 3. Затем добавьте opencvlib в Cmakelists.txt и добавьте openc2.open.hpp. Я получил эту ошибку

    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: / Пользователи / Lenovo / AppData / Local / Android / SDK / ndk-bundle / toolchains / llvm / prebuilt / windows-x86_64 --sysroot = C: / Пользователи / Lenovo / AppData / Local / Android / sdk / ndk- bundle / toolchains / llvm / prebuilt / windows-x86_64 / sysroot -Dnative_lib_EXPORTS -g -DANDROID -fdata-section -function-section -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' не найден включают ^ ~~~~~~~~~~~~~~~~~~~~~~ Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 08 июня 2019

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