将 opencv 4.5.2 添加到我的 android 工作室项目时出现 CMake 错误
CMake error while adding opencv 4.5.2 into my android studio project
我试图将 opencv 4.5.2 添加到我的 android 工作室项目中。但是当我尝试 运行 应用程序时出现错误。之前没有报错。
我添加 opencv 所遵循的步骤:
File -> New -> Import Module 然后我选择 sdk 文件夹,它位于 opencv-4.5 的解压文件夹中.2-android-sdk(我从 opencv.org/releases/ 下载的)我给它命名为 openCVLibrary452 然后我点击完成。
File -> Project Structure -> Add Dependency 然后我从列表中选择 openCVLibrary452 然后点击 Apply 和 Ok。
现在我在 MainActivity onCreate() 中添加了下面一行
Log.e("TAG", "OpenCV initialized : "+ OpenCVLoader.initDebug());
当我尝试 运行 应用程序时,出现以下错误:
[CXX1405] error when building with cmake using F:\StudioProjects\KingScanner\openCVLibrary452\libcxx_helper\CMakeLists.txt: Build command failed.
Error while executing process E:\Android_sdk\cmake.18.1\bin\cmake.exe with arguments {-HF:\StudioProjects\KingScanner\openCVLibrary452\libcxx_helper -DCMAKE_SYSTEM_NAME=Android -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_SYSTEM_VERSION=21 -DANDROID_PLATFORM=android-21 -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=E:\Android_sdk\ndk.4.7075529 -DCMAKE_ANDROID_NDK=E:\Android_sdk\ndk.4.7075529 -DCMAKE_TOOLCHAIN_FILE=E:\Android_sdk\ndk.4.7075529\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=E:\Android_sdk\cmake.18.1\bin\ninja.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=F:\StudioProjects\KingScanner\openCVLibrary452\build\intermediates\cxx\Debugn761z2d\obj\arm64-v8a -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=F:\StudioProjects\KingScanner\openCVLibrary452\build\intermediates\cxx\Debugn761z2d\obj\arm64-v8a -DCMAKE_BUILD_TYPE=Debug -BF:\StudioProjects\KingScanner\openCVLibrary452\.cxx\Debugn761z2d\arm64-v8a -GNinja -DANDROID_STL=c++_shared}
这是我第一次将opencv 添加到我的项目中。你能告诉我我在这里遗漏了什么吗?
如有任何帮助,我们将不胜感激。谢谢。
它没有解决你的编译器的问题,但如果你只想使用 OpenCV,你可以把这个依赖项放在你的 build.gradle
:
implementation 'ai.eye2you:opencv-android:4.5.2'
然后只需使用您的代码或 System.loadLibrary("opencv_java4")
.
对其进行初始化
关键是“不”重命名sdk文件夹。这是因为 OpenCV 在 native/jni/OpenCVConfig.cmake.
中硬编码了名称为“sdk”的路径
我试图将 opencv 4.5.2 添加到我的 android 工作室项目中。但是当我尝试 运行 应用程序时出现错误。之前没有报错。
我添加 opencv 所遵循的步骤:
File -> New -> Import Module 然后我选择 sdk 文件夹,它位于 opencv-4.5 的解压文件夹中.2-android-sdk(我从 opencv.org/releases/ 下载的)我给它命名为 openCVLibrary452 然后我点击完成。
File -> Project Structure -> Add Dependency 然后我从列表中选择 openCVLibrary452 然后点击 Apply 和 Ok。
现在我在 MainActivity onCreate() 中添加了下面一行
Log.e("TAG", "OpenCV initialized : "+ OpenCVLoader.initDebug());
当我尝试 运行 应用程序时,出现以下错误:
[CXX1405] error when building with cmake using F:\StudioProjects\KingScanner\openCVLibrary452\libcxx_helper\CMakeLists.txt: Build command failed.
Error while executing process E:\Android_sdk\cmake.18.1\bin\cmake.exe with arguments {-HF:\StudioProjects\KingScanner\openCVLibrary452\libcxx_helper -DCMAKE_SYSTEM_NAME=Android -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_SYSTEM_VERSION=21 -DANDROID_PLATFORM=android-21 -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=E:\Android_sdk\ndk.4.7075529 -DCMAKE_ANDROID_NDK=E:\Android_sdk\ndk.4.7075529 -DCMAKE_TOOLCHAIN_FILE=E:\Android_sdk\ndk.4.7075529\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=E:\Android_sdk\cmake.18.1\bin\ninja.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=F:\StudioProjects\KingScanner\openCVLibrary452\build\intermediates\cxx\Debugn761z2d\obj\arm64-v8a -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=F:\StudioProjects\KingScanner\openCVLibrary452\build\intermediates\cxx\Debugn761z2d\obj\arm64-v8a -DCMAKE_BUILD_TYPE=Debug -BF:\StudioProjects\KingScanner\openCVLibrary452\.cxx\Debugn761z2d\arm64-v8a -GNinja -DANDROID_STL=c++_shared}
这是我第一次将opencv 添加到我的项目中。你能告诉我我在这里遗漏了什么吗?
如有任何帮助,我们将不胜感激。谢谢。
它没有解决你的编译器的问题,但如果你只想使用 OpenCV,你可以把这个依赖项放在你的 build.gradle
:
implementation 'ai.eye2you:opencv-android:4.5.2'
然后只需使用您的代码或 System.loadLibrary("opencv_java4")
.
关键是“不”重命名sdk文件夹。这是因为 OpenCV 在 native/jni/OpenCVConfig.cmake.
中硬编码了名称为“sdk”的路径