作者:jlxx19_937 | 来源:互联网 | 2022-12-04 13:36
今天我将Android Studio NDK更新到最新版本18.0.5002713
.在成功安装过程后,我尝试重新运行我的应用程序,但无法这样做.出现的错误如下:org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
在过去,我在NDK更新后运行我的应用程序时遇到了问题,但是能够通过添加arguments '-DANDROID_STL=gnustl_static'
到externalNativeBuild
app.gradle文件中的配置来解决它们.
原始问题:(OpenCV - NDK更新后对'cv :: CascadeClassifier :: detectMultiScale()的未定义引用)
通过添加这行代码,我设法在所有NDK r17c版本的其余部分中避免了NDK的任何问题.
不幸的是,对于修订版r18,GNUSTL的支持已经与gabi ++和stlport一起被删除了.
请参阅NDK修订历史记录:https://developer.android.com/ndk/downloads/revision_history
删除现在已弃用的代码行会产生最初是上述问题的原因的错误.现在的问题是什么是最新的等价物arguments '-DANDROID_STL=gnustl_static'
?
编辑:使用'-DANDROID_STL=c++_static'
导致旧错误
先感谢您.
1> y30..:
正如@Michael已经建议你可以使用libc ++重建OpenCV.
去做吧:
cd $OPENCV_SRC
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_DIR/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_STL=c++_static -DCMAKE_BUILD_TYPE=Release -DANDROID_NATIVE_API_LEVEL=android-24 ..
make install
cd install #the sdk will be here...
注意:使用"opencv-3.4.1"+ ndk18进行测试
由@shizhen编辑
在macOS上验证,应该..
在cmake
命令后添加使下面的错误消失.
CMake错误:源目录"/opencv-3.4.1/build"似乎不包含CMakeLists.txt
.
更新如下:
cd $OPENCV_SRC
mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=$ANDROID_DIR/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_ABI="arm64-v8a" -DANDROID_STL=c++_static -DCMAKE_BUILD_TYPE=Release -DANDROID_NATIVE_API_LEVEL=android-24
make install
cd install #the sdk will be here...
一些额外的CMake标志将使构建失败并且也更快:`-DBUILD_TESTS = OFF -DBUILD_PERF_TESTS = OFF -DBUILD_JAVA = OFF -DBUILD_ANDROID_EXAMPLES = OFF`