• 【失败的经验】在linux下编译opencv for android


    cd /home/ahfu
    #选择opencv 3.4.6版本来编译
    wget https://github.com/opencv/opencv/archive/3.4.6.tar.gz
    tar -zxvf opencv-3.4.6.tar.gz
    wget https://codeload.github.com/opencv/opencv_contrib/tar.gz/3.4.6
    tar -zxvf opencv_contrib-3.4.6.tar.gz
    #下载ndk
    wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
    unzip android-ndk-r14b-linux-x86_64.zip
    export PATH=$PATH:/home/ahfu/android-ndk-r14b
    # 注意,我一开始使用了NDK版本 android-ndk-r19c-linux-x86_64.zip,结果一堆问题
    #下载ANDROID SDK
    wget https://dl.google.com/android/repository/tools_r25.2.5-linux.zip
    unzip tools_r25.2.5-linux.zip
    export PATH=$PATH:/home/ahfu/
    # 注意,一开始我下载了android sdk版本 android-sdk_r24.4.1-linux.tgz,有问题
    #下载编译工具ninja
    wget https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip
    unzip ninja-linux.zip
    export PATH=$PATH:/home/ahfu/

    #建立编译目录
    cd opencv-3.4.6
    mkdir build && cd build
    #开始config
    python build_sdk.py /home/ahfu/opencv-3.4.6/build /home/ahfu/opencv-3.4.6/ --ndk_path=/home/ahfu/android-ndk-r14b --extra_modules_path=/home/ahfu/opencv_contrib-3.4.6/modules --sdk_path=/home/ahfu
    #因为我的编译机不能连接互联网,所以在下载文件的阶段报错
    #没关系,手动完成配置
    cd o4a #前面的配置脚本已经生成了这个目录
    ccmake ../..
    #关闭很多不需要的选项
    #BUILD_opencv_features2d=OFF
    #CMAKE_BUILD_TYPE=Release
    #按c, 按g
    #呼唤忍者来编译
    ninja
    #最后看见
    #[850/850] Linking CXX static library lib/armeabi-v7a/libopencv_tracking.a
    #编译成功
    ls -l lib/armeabi-v7a/
    #android下的各个库都编译成功了

    #明天继续写个程序验证能不能在android下面跑起来

     =============================

    2019-06-22补充:

    以上编译过程并未完成,看起来该生成的.a都生成了,但是对应的include文件没有生产。
    这时候opencv的程序找不到正确编译的include文件夹的话,无法编译通过。
    请看我的后面一篇。

  • 相关阅读:
    静态网页
    css
    html
    数据分析器
    初步了解计算机
    如何导出数据库的数据词典
    阅读计划
    python之文件读写
    曾梦想仗剑走天涯,看世界的繁华
    python lambda匿名函数
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/11066907.html
Copyright © 2020-2023  润新知