opencv riscv的交叉编译与测试

本文详细介绍了如何在riscv架构上交叉编译opencv4.2,并在qemu-riscv64环境下进行测试。过程中遇到了包括zlib.h缺失、找不到进程库、类型转换错误、头文件和库文件找不到等问题,通过交叉编译zlib、调整编译链接选项、修改环境变量等方法逐一解决,最终成功生成并运行了灰度化图片的程序。
摘要由CSDN通过智能技术生成

编译与测试环境:

opencv版本:opencv4.2
opencv4.2下载地址:https://github.com/opencv/opencv/tree/4.2.0
riscv交叉编译工具链:riscv64-unknown-linux-gnu-gcc/g++
riscv交叉编译链地址:https://github.com/riscv/riscv-gnu-toolchain
测试环境:qemu-riscv64
qemu-riscv地址:https://github.com/riscv/riscv-qemu

riscv交叉工具链安装说明:

 # 拉取编译链代码(需要科学上网)
 git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
 
# 安装所需依赖
sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev

# 设置环境路径 如将/opt/riscv作为工具链安装路径,将/opt/riscv/bin加入环境变量路径中
# 编译
./configure --prefix=/opt/riscv
make linux

qemu-riscv64安装说明

# 安装所需依赖
sudo apt-get install gcc libc6-dev pkg-config bridge-utils uml-utilities zlib1g-dev libglib2.0-dev autoconf automake libtool libsdl1.2-dev

# 拉取代码
git clone https://github.com/riscv/riscv-qemu
cd riscv-qemu
git submodule update --init pixman

# 编译
./configure --target-list=riscv64-linux-user [--prefix=INSTALL_LOCATION]
make

交叉编译opencv

创建bulid目录,打开cmake-gui设置soucecode和bulid路径

cmake-gui选项:

参考:嵌入式开发之Opencv(一)交叉编译
在这里插入图片描述
在这里插入图片描述
可以根据需要选择需要build的功能模块
在这里插入图片描述
打开Advancd选项, 我另外设置了这些选项:
CMAKE_BUILD_TYPE Release
CMAKE_EXE_LINKER_FLAGS -lrt -lpthread

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值