在Ubuntu上利用loongarch64交叉编译工具编译opencv4.4.0

发布于:2025-06-11 ⋅ 阅读:(22) ⋅ 点赞:(0)

编译opencv

配置好loongarch64交叉编译工具环境,可以参考我之前写的【在Windows下利用LoongArch-toolchain交叉编译Qt】
安装好cmake、cmake-gui
下载opencv源码
解压opencv源码
在源码的platforms/linux下,复制aarch64-gnu.toolchain .cmake,将复制出来的文件更改名称为loongarch64-gnu.toolchain .cmake
在这里插入图片描述
然后更改其内容为:
(注意,主要就是更改GNU_MACHINE的内容,将其改成你的交叉编译工具所在的目录+一点前缀)

set(CMAKE_SYSTEM_PROCESSOR loongarch64)
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "/home/yong/Desktop/Loongnix/loongarch64-linux-gnu-rc1.6/bin/loongarch64-linux-gnu" CACHE STRING "GNU compiler triple")
include("${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")

然后参考【配置交叉编译环境@Ubuntu20.04+opencv4.7.0】,设置好必要的参数(在选择交叉编译配置文件时,记得要选择我们前面配好的loongarch64-gnu.toolchain .cmake
在这里插入图片描述
然后把不必要的选项都取消勾选,免得处理复杂的依赖关系以及不必要的编译时间。
记得勾选一下world,这样就把所编译的所有模块都编译成一个dll,这样用起来方便。
在这里插入图片描述

然后就是到build文件夹下常规操作了

make -j8
make install

创建sysroot

上面演示的是精简版的编译,也就是基本完全只用到opencv源码本身的内容,没有包含第三方的库。假如用到了第三方的库,那就得搞个sysroot会方便一些。
所有需要的第三方库,可以先在目标机器上通过apt install得到,不用自己再编译。
可以看我这篇【创建Loongarch64的交叉编译rootfs(含第三方二进制库)】


参考:
【配置交叉编译环境@Ubuntu20.04+opencv4.7.0】