需求 :

    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. DVR和NVR的区别(深度好文)(转)

    DVR接模拟摄像机,NVR是接IP camera的录像机. DVR的录像效果取决于摄像机与DVR本身的压缩算法与芯片处理能力,而NVR的录像效果则主要取决于IPcamera,因为IPcamera输出的 ...

  2. Python技能树

    本博客Python内容的索引,以后就照着它写了.

  3. ArrayList详解,底层是数组,实现Serializable接口

    一.对于ArrayList需要掌握的七点内容 ArrayList的创建:即构造器往ArrayList中添加对象:即add(E)方法获取ArrayList中的单个对象:即get(int index)方法 ...

  4. 虚拟机(JVM)如何加载类

    首先JVM加载类的一般流程分三步: 加载 链接 初始化 那么是否全部Java类都是这样三步走的方式加载呢?我们可以从Java的数据类型去出发.Java分基本类型和引用类型.其中按照面向对象的特性,一切 ...

  5. cocos2D-X not config ndk path

    { 双击击那个error,那个路径就加上了 File = >local.properties }

  6. mybatis plus generator工具集成(一)

    参数配置文档 配置分两步 1.添加依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId> ...

  7. MD5、SHA1、DES加密和解密,Base64编码解码

    /// <summary> /// EncryptHelper 来自 www.Admin10000.com /// </summary> public class Encryp ...

  8. Python字典操作及课后练习

    '''dict,唯一一个映射数据类型数据类型划分:可变数据类型,不可变数据类型不可变数据类型:元组,bool int str(对str的任何改变都是形成了新的str,对原来的str没有改变)可变数据类 ...

  9. Nginx + Tomcat 配置负载均衡集群简单实例

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版n ...

  10. java == 和equals()

    == == 是运算符 :可以使用在基本数据类型变量和引用数据类型变量当中 : 如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定类型相同) 如果比较的是引用数据类型变量, 比较两个对 ...