1. 环境准备与工具链配置
最近在正点原子的RV1126开发板上折腾OpenCV交叉编译,真是踩了不少坑。这个板子性能不错,但编译环境配置起来确实需要些技巧。我是在Docker环境下操作的,用的是Ubuntu 18.04,不过20.04应该也通用。如果你用的是实体机,记得在命令前加sudo。
交叉编译工具链是基础中的基础,没这个啥都干不了。我直接从ARM官网下载了gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf这个版本,比较稳定。下载完后解压到/opt目录,这样管理起来方便:
tar -xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C /opt
接下来要配置环境变量,不然系统找不到交叉编译工具。编辑~/.bashrc文件,在末尾添加:
export PATH=/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH
保存后执行source ~/.bashrc让配置立即生效。验证是否成功,可以运行arm-linux-gnueabihf-gcc --version,如果显示版本信息就说明配置正确。
提示:环境变量配置很重要,如果遇到"command not found"错误,多半是这里没配好。
1.1 CMake版本升级
系统自带的CMake 3.10版本太老了,编译OpenCV时会遇到各种奇怪的问题。我升级到了3.26.6版本,过程比想象中简单。
先从CMake官网下载最新的shell安装包:
wget https://github.com/Kitware/CMake/releases/download/v3.26.6/cmake-3.26.6-linux-x86_64.sh
安装时要注意两个选项:第一个问是否接受许可,选y;第二个问是否使用子目录,选n,这样会直接安装到/usr目录下:
sudo bash cmake-3.26.6-linux-x86_64.sh --skip-license --prefix=/usr
安装完成后用cmake --version检查版本,确认显示3.26.6就没问题了。升级CMake后,后续的编译过程会顺利很多,特别是处理一些新的编译选项时。
2. OpenCV源码准备与配置
OpenCV版本选择很重要,我用的3.4.12版本,因为正


2478

被折叠的 条评论
为什么被折叠?



