gpt4 book ai didi

android - NDK - GNUSTL 从 NDK(修订版 r18)中删除后出现的问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:13 26 4
gpt4 key购买 nike

今天我将我的 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 - undefined reference to 'cv::CascadeClassifier::detectMultiScale() after NDK update)

通过添加这行代码,我设法在所有 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' 导致旧错误

提前谢谢你。

最佳答案

正如@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 Error: The source directory "/opencv-3.4.1/build"does not appear to contain 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...

关于android - NDK - GNUSTL 从 NDK(修订版 r18)中删除后出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com