aarch64 cross compile 交叉编译 opencv
需求 :
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的更多相关文章
- ubuntu 环境 cross compile 交叉编译 ARM Qt 集成 opencv
Qt 的版本众多,交叉编译Qt可以下载 最新的 Qt 5.11,在 qtbase/mkspecs/devices/ 下找到你对应开发板的配置文件, 拷贝出来, 选择一版适用当前交叉编译工具链的版本,这 ...
- cross compile 交叉编译 ffmpeg
ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包 http://ffmpeg.org/releases/ffmpeg ...
- cross compile vlc 播放器
上一篇文章介绍了如何交叉编译 FFmpeg ,继续介绍 VLC播放器 交叉编译 . 首先下载 vlc 源码 我用的是 2.2.6 地址 : http://mirrors.neusoft.edu ...
- 产品中 configure/cross compile的一个bug
在mac机上, 为iPhone版本编译产品. 运行./configure报错如下: configure:22793: error: cannot run test program while cros ...
- 交叉编译OpenCV的Android版本
交叉编译OpenCV的Android版本 OpenCV作为一个强大的图像处理库,在Android上也有强大的应用. OpenCV官网提供了SDK的下载,可以直接下载使用 OpenCV官网地址:http ...
- Cross compile perl
Alex Suykov had do some work for this purpose, and my compile script is based on her patch. Steps St ...
- 用TensorRT针对AArch64用户的交叉编译示例
用TensorRT针对AArch64用户的交叉编译示例 以下介绍如何在x86_64linux下为AArch64 QNX和Linux平台交叉编译TensorRT示例. 2.1. Prerequisite ...
- linux cross toolsChain 交叉编译 ARM(转)
转载请注明出处:http://blog.csdn.net/mybelief321/article/details/9076583 安装环境 Linux版本:Ubuntu 12.04 内核版本:L ...
- cross compile gdbserver
1. 下载gdb源码,7.12版本,下载地址:ftp://ftp.gnu.org/gnu/gdb.2. 编译gdb:0> cd gdb-7.121> mkdir __install2> ...
随机推荐
- nginx的原理
Nginx会按需同时运行多个进程:一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程 (cache loader)和缓存管理器进程(cache manager) ...
- Python之随机选择 random
随机选择:random import random # 从一个序列中随机的抽取一个元素 values=[1,2,3,4,56] # 指定取出N个不同元素 print(random.sample(val ...
- 轻松上手nodeJs爬取想要页面的数据
开始之前请先确保自己安装了Node.js环境!!!!!!!! 1.在项目文件夹安装两个必须的依赖包 npm install superagent -S SuperAgent(官网是这样解释的) --- ...
- until 循环语句
- dotNET面试(一)
1.列举ASP.NET 页面之间传递值的几种方式. 1).使用QueryString, 如....?id=1; response. Redirect().... 2).使用Session变量 3).使 ...
- linux 定时任务---给心爱的小姐姐发情书
目录 1.计划任务基本概述 什么是crond? 为什么要用crond? 2.计划任务时间管理 crontab配置文件解析 crontab的时间编写规则 crontab命令选项 3.计划任务编写实践 使 ...
- Python向方法中传递自定义类型参数
定义类型 class Fish: def __init__(self,x): self.num = xclass Turtle: def __init__(self,y): self.num = yc ...
- Qt QSS图片样式切割,三种状态normal,hover,pressed
要切割的样式图片如下: pix_Button->setStyleSheet("QPushButton{ border-image:url(:/image/MyButtonimage/m ...
- GA来源分析
网页中广告素材分为:文字,图片和FLASH三种.针对这三种素材,2种有无参数的情况,新旧版GA收集到的结果为: 提醒:FLASH素材如果不加参数收集不到来源: 具体GA参数如下: 可参考:https: ...
- beautifhulsoup4的使用
Beautiful: - 基本使用 from bs4 import BeautifulSoup - 解析器: lxml, html.parser soup = Beautiful ...