NDK+MSYS2+Android sdk编译opencv源码

摘要:
由于今天太晚了,我有空时会做详细的笔记。然后,ANDROID_STL,因为不再支持gustl,所以c++_ Shared或c++_ Static是可以的。添加后,单击“配置”按钮,选择mingw作为生成工具,然后选择使用工具链进行交叉编译,然后单击“下一步”。

由于今天太晚了,详细笔记有空再记。

    要添加的有ANDROID_ABI,这个根据需求添加自己需要的ABI

    NDK+MSYS2+Android sdk编译opencv源码第1张

    然后是ANDROID_STL,因为gunstl已经不被支持,这里使用c++_shared或c++_static都可以。

   然后是ANDROID_STL,因为gunstl已经不被支持,这里使用c++_shared或c++_static都可以。

    NDK+MSYS2+Android sdk编译opencv源码第2张

    添加完后点击“Configure”按钮,选择mingw作为生成工具,然后选择使用工具链交叉编译,点击“Next”。

 D:android-ndk-r17cuildcmakeandroid.toolchain.cmake

NDK+MSYS2+Android sdk编译opencv源码第3张

 NDK+MSYS2+Android sdk编译opencv源码第4张

NDK+MSYS2+Android sdk编译opencv源码第5张

指定CMAKE_MAKE_PROGRAM

C:/msys64/mingw64/bin/mingw32-make.exe

 NDK+MSYS2+Android sdk编译opencv源码第6张

NDK+MSYS2+Android sdk编译opencv源码第7张

 NDK+MSYS2+Android sdk编译opencv源码第8张

 NDK+MSYS2+Android sdk编译opencv源码第9张

输出配置信息:

General configuration for OpenCV 3.4.9 =====================================
  Version control:               unknown

  Platform:
    Timestamp:                   2020-04-01T14:38:54Z
    Host:                        Windows 10.0.18363 AMD64
    Target:                      Android 1 aarch64
    CMake:                       3.16.0
    CMake generator:             MinGW Makefiles
    CMake build tool:            C:/msys64/mingw64/bin/mingw32-make.exe
    Configuration:               Release

  CPU/HW features:
    Baseline:                    NEON FP16
      required:                  NEON
      disabled:                  VFPV3

  C/C++:
    Built as dynamic libs?:      NO
    C++11:                       YES
    C++ Compiler:                D:/android-ndk-r17c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe  (ver 3.8)
    C++ flags (Release):         -isystem D:/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments    -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG   -DNDEBUG
    C++ flags (Debug):           -isystem D:/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments    -fvisibility=hidden -fvisibility-inlines-hidden -O0 -fno-limit-debug-info   -DDEBUG -D_DEBUG
    C Compiler:                  D:/android-ndk-r17c/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
    C flags (Release):           -isystem D:/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments    -fvisibility=hidden -fvisibility-inlines-hidden -O2 -DNDEBUG   -DNDEBUG
    C flags (Debug):             -isystem D:/android-ndk-r17c/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments    -fvisibility=hidden -fvisibility-inlines-hidden -O0 -fno-limit-debug-info   -DDEBUG -D_DEBUG
    Linker flags (Release):      -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot D:/android-ndk-r17c/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -LD:/android-ndk-r17c/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now    
    Linker flags (Debug):        -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot D:/android-ndk-r17c/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -LD:/android-ndk-r17c/sources/cxx-stl/llvm-libc++/libs/arm64-v8a -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now    
    ccache:                      NO
    Precompiled headers:         NO
    Extra dependencies:          z dl m log
    3rdparty dependencies:       libcpufeatures ittnotify libprotobuf libjpeg-turbo libwebp libpng libtiff libjasper IlmImf quirc tegra_hal

  OpenCV modules:
    To be built:                 calib3d core dnn features2d flann highgui imgcodecs imgproc ml objdetect photo shape stitching superres ts video videoio videostab
    Disabled:                    world
    Disabled by dependency:      -
    Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java js python2 python3 viz
    Applications:                tests perf_tests
    Documentation:               NO
    Non-free algorithms:         NO

  Android NDK:                   D:/android-ndk-r17c (ver 17.2.4988734)
    Android ABI:                 arm64-v8a
    NDK toolchain:               aarch64-linux-android-clang
    STL type:                    c++_static
    Native API level:            21
  Android SDK:                   not used, projects are not built

  GUI: 

  Media I/O: 
    ZLib:                        z (ver 1.2.3)
    JPEG:                        build-libjpeg-turbo (ver 2.0.2-62)
    WEBP:                        build (ver encoder: 0x020e)
    PNG:                         build (ver 1.6.37)
    TIFF:                        build (ver 42 - 4.0.10)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 2.3.0)
    HDR:                         YES
    SUNRASTER:                   YES
    PXM:                         YES

  Video I/O:

  Parallel framework:            pthreads

  Trace:                         YES (with Intel ITT)

  Other third-party libraries:
    Custom HAL:                  YES (carotene (ver 0.0.1))
    Protobuf:                    build (3.5.1)

  Python (for build):            D:/Anaconda3/envs/py35/python.exe

  Java:                          export all functions
    ant:                         NO
    Java wrappers:               NO
    Java tests:                  NO

  Install to:                    D:/Program Files (x86)/opencv-3.4.9/sources/build_android64/install
-----------------------------------------------------------------

Configuring done

 然后点击Generate

执行mingw64.exe 进入D:Program Files (x86)opencv-3.4.9sourcesuild_android64目录下编译命令:

mingw32-make

NDK+MSYS2+Android sdk编译opencv源码第10张

安装:

mingw32-make install

NDK+MSYS2+Android sdk编译opencv源码第11张

 安装完成后在install路径下文件夹结构:

NDK+MSYS2+Android sdk编译opencv源码第12张NDK+MSYS2+Android sdk编译opencv源码第13张
D:.
├─apk
└─sdk
    ├─etc
    │  ├─haarcascades
    │  ├─lbpcascades
    │  └─licenses
    └─native
        ├─3rdparty
        │  └─libs
        │      └─arm64-v8a
        ├─jni
        │  ├─abi-arm64-v8a
        │  └─include
        │      ├─opencv
        │      └─opencv2
        │          ├─calib3d
        │          ├─core
        │          │  ├─cuda
        │          │  │  └─detail
        │          │  ├─detail
        │          │  ├─hal
        │          │  ├─opencl
        │          │  │  └─runtime
        │          │  │      └─autogenerated
        │          │  └─utils
        │          ├─dnn
        │          │  └─utils
        │          ├─features2d
        │          │  └─hal
        │          ├─flann
        │          ├─highgui
        │          ├─imgcodecs
        │          ├─imgproc
        │          │  ├─detail
        │          │  └─hal
        │          ├─ml
        │          ├─objdetect
        │          ├─photo
        │          ├─shape
        │          ├─stitching
        │          │  └─detail
        │          ├─superres
        │          ├─video
        │          ├─videoio
        │          └─videostab
        └─staticlibs
            └─arm64-v8a
View Code

参考博客:

https://blog.csdn.net/qq_19313495/article/details/89709405

https://www.pianshen.com/article/2093368804/

免责声明:文章转载自《NDK+MSYS2+Android sdk编译opencv源码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unity 双击Esc或者返回退出游戏,有文字提示Centos7.6编译安装数据库mysql5.7.22(华为鲲鹏云服务器案例)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

百度开源分布式id生成器uid-generator源码剖析

百度uid-generator源码 https://github.com/baidu/uid-generator snowflake算法 uid-generator是基于Twitter开源的snowflake算法实现的。 snowflake将long的64位分为了3部分,时间戳、工作机器id和序列号,位数分配如下。 其中,时间戳部分的时间单位一般为毫秒。...

教你快速高效接入SDK——总体思路和架构

题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360......据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道。每个渠道SDK接入的方法呢,多是大同小异。但是,正是这些小异,又让SDK的接入,产生了无穷无尽的变数。所以,接入SDK之前,如果你没有经验,或者没有被SDK坑过,那么当你看到这系列文章的...

vscode 无法查看完整源码,环境是wsl2+ubunu,语言java

首先你是否安装了插件 Language support for Java ™ for Visual Studio Code2.然后在终端输入 sudo apt-get update 3.输入sudo apt install openjdk-你的版本-source 4.重新打开vscode,好了。   ✖...

OC项目加入swift第三方库遇到的坑

https://www.jianshu.com/p/96d868dcd69c 2017.07.07 16:23* 字数 295 阅读 5218评论 2喜欢 4 首先,在OC项目的Podfile文件中添加如下 use_frameworks! pod 'PromiseKit', '~> 4.2.2' #任意一个swift库 然后pod install 接...

【maven】【idea】使用idea的maven进行deploy操作失败,报错:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project proengine-db-sdk: Failed to deploy artifacts 错误码401

使用idea的maven进行deploy操作失败,报错: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project proengine-db-sdk: Failed to deploy artifact...

【重磅开源】验证码识别的最高境界——MuggleOCR通用识别

1.前言 各位网上冲浪时是否遇到烦人的验证码?抑或无法复制的文字? 小编为大家推荐一款专为麻瓜设计的OCR识别模块:https://pypi.org/project/muggle-ocr 在2020不平凡的一年,6月1日,在pypi仓库中偷偷潜入一位新同学,他就是MuggleOCR,他有多厉害呢? 作为一个本地识别的模块,他的体积居然小于10MB,模型分...