在 Ubuntu 上为 Android 编译 dlib
Posted
技术标签:
【中文标题】在 Ubuntu 上为 Android 编译 dlib【英文标题】:Compile dlib for Android on Ubuntu 【发布时间】:2020-12-11 20:40:24 【问题描述】:我正在尝试为 android 编译 dlib。我的 SO 是 Ubuntu 20.04。我从 https://github.com/tzutalin/dlib-android 开始学习本教程
我下载了 Android-NDK 版本 r14b 并将其解压缩到 /opt。当我运行python3 build.py
命令时,我得到这个错误:
/bin/sh: 1: /opt/android-ndk-r14b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++: not found
/bin/sh: 1: /opt/android-ndk-r14b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++: not found
make: *** [/opt/android-ndk-r14b/build/core/build-binary.mk:530: obj/local/armeabi-v7a/objs/android_dlib/jni_imageutils.o] Error 127
make: *** Waiting for unfinished jobs....
/bin/sh: 1: /opt/android-ndk-r14b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++: not found
make: *** [/opt/android-ndk-r14b/build/core/build-binary.mk:530: obj/local/armeabi-v7a/objs/android_dlib/jni_pedestrian_det.o] Error 127
make: *** [/opt/android-ndk-r14b/build/core/build-binary.mk:530: obj/local/armeabi-v7a/objs/android_dlib/jni_face_det.o] Error 127
Build Error
查看/opt/android-ndk-r14b
,prebuild
文件夹下没有linux-x86_64
。唯一的目录是darwin-x86_64
。
我也尝试使用android-ndk-r21d
,但又遇到了另一个错误:
/opt/android-ndk-r21d/build/core/add-application.mk:178: *** Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared. See https://developer.android.com/ndk/guides/cpp-support.html for more information. . Stop.
Build Error
你能帮帮我吗?
【问题讨论】:
【参考方案1】:你可以调查一下,https://github.com/Luca96/dlib-for-android/blob/master/setup.sh。我没有在 linux 上尝试过,但如果有问题,下面的链接可以提供一些提示。
我使用powershell script
并从上面的repo 中进行了一些修改,并使用来自github 的dlib master
在Windows 上编译。完成后,它将文件复制到给定的 Android Studio 文件夹。最新修改的脚本在这里,https://github.com/quickgrid/Setup-Guide/blob/master/dlib-android-setup.ps1。
【讨论】:
以上是关于在 Ubuntu 上为 Android 编译 dlib的主要内容,如果未能解决你的问题,请参考以下文章
设置 QtCreator 以在 Ubuntu 14.04 上为 arm7 设备开发应用程序
如何在 Windows 机器上为 Linux 编译 .NET Core 应用程序