需求 :

    linux host :  UBUNTU

    opencv source : opencv 3.3.1.zip

    CMAKE  :  apt-get install cmake cmake-qt-gui

    若干 依赖库

编译 :

    新建   ./build  文件夹

    在 源码 目录   source  交叉编译脚本    并执行 ./cmake-gui

    在   where is  source code      、 build the binaries  选择源码   build目录

    在   cmake-gui    中添加  Add Entry   选 FILEPATH :  NAME =CMAKE_AR    VALUE="/opt/poky/2.0.1/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ar")解决

  Cross compilation produces: Error running link command: No such file or directory

    make VERBOSE=1

    点 configure   选第三项  use  toochain  file    路径 为   opencv-3.3.1/platforms/linux/aarch64-gnu.toolchain.cmake

    取消  BUILD _TORCH_IMPORTER     ,WITH_WEBP  ,WITH_MATLAB , OPENCLAMDBLAS... 等会报错的选项

    选中  GTK_2_X

    点generate

    可能还会有其他小错误  ,

    在 build 目录  make   make install

    生成

    把安装包考到  nfs 中

     $CXX open_img.c -o open_img -lopencv_highgui -lopencv_imgproc -lopencv_core

    

ps  :  在编译其他版本的 交叉工具编译链 时  会出现    -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=/opt/poky/2.1.2/sysroots/aarch64-poky-linux:

    需要在  cmake -gui 中  config 中设置 CMAKE_C_COMPILER_ARG1  CMAKE_CXX_COMPILER_ARG1 去掉  march   mturne

12/7  更新

     ffmpeg 方面 首先要  prefix设置一个 install 目录 ,安装ffmpeg

     在 opencv 源码路径 source 一下 交叉工具编译链   , /cmake-gui & 运行 cmake  设置 opencv 选项

      

      添加  .so 文件

    修改  opencv-2.4.13/modules/highgui/src/cap_ffmpeg_impl.hpp   中

      添加   #define HAVE_FFMPEG_SWSCALE 1

        注释  //    #error "libswscale is necessary to build the newer OpenCV ffmpeg wrapper"

        添加  #include <libswcale/swcale.h>

      解决在 编译  highgui 模块时候  报错  关于 sws ....之类的错误

    完成 编译  make install

    生成的 opencv  支持  ffmpeg

aarch64 cross compile 交叉编译 opencv的更多相关文章

  1. ubuntu 环境 cross compile 交叉编译 ARM Qt 集成 opencv

    Qt 的版本众多,交叉编译Qt可以下载 最新的 Qt 5.11,在 qtbase/mkspecs/devices/ 下找到你对应开发板的配置文件, 拷贝出来, 选择一版适用当前交叉编译工具链的版本,这 ...

  2. cross compile 交叉编译 ffmpeg

    ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包   http://ffmpeg.org/releases/ffmpeg ...

  3. cross compile vlc 播放器

    上一篇文章介绍了如何交叉编译 FFmpeg ,继续介绍  VLC播放器  交叉编译 . 首先下载 vlc 源码  我用的是 2.2.6  地址 : http://mirrors.neusoft.edu ...

  4. 产品中 configure/cross compile的一个bug

    在mac机上, 为iPhone版本编译产品. 运行./configure报错如下: configure:22793: error: cannot run test program while cros ...

  5. 交叉编译OpenCV的Android版本

    交叉编译OpenCV的Android版本 OpenCV作为一个强大的图像处理库,在Android上也有强大的应用. OpenCV官网提供了SDK的下载,可以直接下载使用 OpenCV官网地址:http ...

  6. Cross compile perl

    Alex Suykov had do some work for this purpose, and my compile script is based on her patch. Steps St ...

  7. 用TensorRT针对AArch64用户的交叉编译示例

    用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...

  8. linux cross toolsChain 交叉编译 ARM(转)

    转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04    内核版本:L ...

  9. cross compile gdbserver

    1. 下载gdb源码,7.12版本,下载地址:ftp://ftp.gnu.org/gnu/gdb.2. 编译gdb:0> cd gdb-7.121> mkdir __install2> ...

随机推荐

  1. python-opencv实现简单的车牌定位

    车牌定位的原理:https://blog.csdn.net/relocy/article/details/78705662 训练好的分类器:https://github.com/zeusees/Hyp ...

  2. VIM编辑器使用及插件配置

    1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...

  3. centos7 忘记mysql5.7密码

    编辑my.cnf文件,允许空密码登录 vi /etc/my.cnf 在[mysqld] 插入: skip-grant-tables [mysqld] datadir=/var/lib/mysql so ...

  4. 【记录】MongoDB

    什么情况建议使用MongoDB? 1:满足对数据库的高并发读写 2:对海量数据的高效存储和访问 3:对数据库高扩展性和高可用性 4:灵活的数据结构,满足数据结构不固定的场景 5:应用需要2000-30 ...

  5. getopts的错误报告模式

  6. MyEclipse的内存问题

    MyEclipse在启动Tomcat时候总是在控制台会出现如下:could not create the java virtual machineError occurred during initi ...

  7. pdfminer实现pdf布局分析 python (pdfminer realize layout analysis with PDF python)

    使用pdfminer实现pdf文件的布局分析 python 参考资料: https://github.com/euske/pdfminer https://stackoverflow.com/ques ...

  8. shell 判断字符串是否包含另一个字符串

    1.使用grep s1="abcdefg" s2="bcd" result=$(echo $s1 | grep "${s2}") if [[ ...

  9. 每天一个linux命令:touch(9)

    touch touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来:二是用来创建新的空文件 格式 touch [选项] [文件] 参数 ...

  10. isinstance 的用法 判断这个数据是否属于这个类型