Linux OpenCV交叉编译20220322

嵌入式开发板开发记录


前言

OpenCV交叉编译记录,正常在开发板上直接编译也是可以的,但是开发板很容易会nospace,编译速度也不快,所以选择交叉编译。
本地平台:Ubuntu18.04
目标平台:飞凌嵌入式
OpenCV版本:3.X

一、编译前准备

1.安装Cmake

sudo apt-get install cmake  # 3.10版本

安装指定版本使用以下方法:

1. sudo apt-get autoremove cmake  #卸载已安装的cmake
2. 在官网下载你需要的cmake版本:cmake官网下载:https://cmake.org/download/
3. 解压文件夹。以cmake-3.19.8为例,解压后是一个文件夹:cmake-3.19.8-Linux-x86_64
4. sudo mv cmake-3.19.8-Linux-x86_64 /opt/cmake-3.19.8
5. # 建立软链接
sudo ln -sf /opt/cmake-3.19.80/bin/*  /usr/bin/
6. # 查看 cmake 版本
cmake --version  #能够输出cmake版本说明安装成功

2.安装交叉编译工具

飞凌嵌入式自带有编译工具,无需再次安装,对于目标平台没有编译工具的需要自行安装。

二、cmake-gui配置

1.编译工具选择

>>>cmake-gui   #终端输入启动cmake-gui界面

如下图一步步操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上图中交叉编译工具为飞凌嵌入式自带的,选择相应的路径即可。
如果没有的话,就要我们自己去下载对应目标平台的交叉编译工具(例如aarch64、armv8等等)。

1.编译配置生成

如下图,选择opencv库安装路径,编译好的lib、include、bin就在这个目录下。
在这里插入图片描述

在这里插入图片描述
1.先点击Configure,如果出现报错,把上面的WITH_xxx全部去掉勾选,
2.再点击Generate。出现如下图表示成功了
在这里插入图片描述

三、开始编译

1.make

打开终端,进入编译目录(第二步编译目录有选择的那个就是)
输入命令:sudo make -j4 # -j4表示使用4核进行编译
在这里插入图片描述

2.报错解决

在这里插入图片描述
打开CmakeCache.txt,做如下修改,加上 -pthread -lrt -ldl
在这里插入图片描述
其他错误的话网上搜一下,应该都会有解决方法。
重新执行命令: sudo make -j4 # 等待十几分钟,达到100%没报错
之后在执行命令:sudo make install

总结

以上就是完整的OpenCV交叉编译流程。重点是在前面的交叉编译工具路径确保选择没错,就能编译成功。

猜你喜欢

转载自blog.csdn.net/zengwubbb/article/details/123958420