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> ...
随机推荐
- go中字符类型的使用小结
示例 // 字符类型的用法 package main import ( "fmt" "unsafe" ) func main() { // 未指定类型并赋值字符 ...
- oracle创建表空间自增空间管理
表空间(tablespace).段(segment).区(extent).块(block),这些都是oracle数据库在数据文件中组织数据的基本单元 1.创建表空间create tablespace ...
- R2CNN论文思路记录
Rotational region cnn 我们的目标是检测任意方向的场景文本,与RRPN类似,我们的网络也基于FasterR-CNN ,但我们采用不同的策略,而不是产生倾斜角度建议. 我们认为RPN ...
- Spring 讲解(四)
Spring 中使用注解注入 注解:就是一个类,使用 @ 注解名称. 实际开发中:使用注解取代 xml 配置文件. 1.常用注解释义 @component 取代 <bean class=&quo ...
- leetcode-第14周双周赛-1274-矩形内船只的数目
题目描述: 自己的提交: # """ # This is Sea's API interface. # You should not implement it, or s ...
- POJ 3468 A Simple Problem with Integers(线段树区间修改及查询)
Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. On ...
- 【Dart学习】--Dart之正则表达式相关方法总结
一,部分属性 RegExp exp = new RegExp(r"(\w+)"); 返回正则表达式的哈希码 print(exp.hashCode); 正则表达式是否区分大小写 pr ...
- 【Flutter学习】之绘画实例(一)
一,概述 画布(Canvas) 画布是一个矩形区域,我们可以控制其每一像素来绘制我们想要的内容 Canvas 拥有多种绘制点.线.路径.矩形.圆形.以及添加图像等的方法,结合这些方法我们可以绘制出千变 ...
- 【dart学习】-- Dart之异步编程
一,概述 编程中的代码执行,通常分为同步与异步两种. 同步:简单说,同步就是按照代码的编写顺序,从上到下依次执行,这也是最简单的我们最常接触的一种形式.但是同步代码的缺点也显而易见,如果其中某一行或几 ...
- Memory Analyzer Tool定位Java heap space内存泄漏
java heap space是一个很蛋疼的问题,如果开发调试时遇到还好,如果是在项目上线后运行一段时间后,才抛出该异常,那真的很悲剧(那你得找代码中到底是哪里内存泄露了),这真是一个悲伤的故事. 1 ...