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> ...
随机推荐
- python-opencv实现简单的车牌定位
车牌定位的原理:https://blog.csdn.net/relocy/article/details/78705662 训练好的分类器:https://github.com/zeusees/Hyp ...
- VIM编辑器使用及插件配置
1.VIM的三种模式: 普通模式.插入模式.命令行模式2.三种模式的转换: 2.1进入普通模式 ①打开VIM默认为普通模式 ②处于插入模式/命令行模式时,按ESC进入普通模式 2.2进入插入模式: A ...
- centos7 忘记mysql5.7密码
编辑my.cnf文件,允许空密码登录 vi /etc/my.cnf 在[mysqld] 插入: skip-grant-tables [mysqld] datadir=/var/lib/mysql so ...
- 【记录】MongoDB
什么情况建议使用MongoDB? 1:满足对数据库的高并发读写 2:对海量数据的高效存储和访问 3:对数据库高扩展性和高可用性 4:灵活的数据结构,满足数据结构不固定的场景 5:应用需要2000-30 ...
- getopts的错误报告模式
- MyEclipse的内存问题
MyEclipse在启动Tomcat时候总是在控制台会出现如下:could not create the java virtual machineError occurred during initi ...
- pdfminer实现pdf布局分析 python (pdfminer realize layout analysis with PDF python)
使用pdfminer实现pdf文件的布局分析 python 参考资料: https://github.com/euske/pdfminer https://stackoverflow.com/ques ...
- shell 判断字符串是否包含另一个字符串
1.使用grep s1="abcdefg" s2="bcd" result=$(echo $s1 | grep "${s2}") if [[ ...
- 每天一个linux命令:touch(9)
touch touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来:二是用来创建新的空文件 格式 touch [选项] [文件] 参数 ...
- isinstance 的用法 判断这个数据是否属于这个类型