「部署记录」opencv交叉编译并移植ARM端侧设备全流程(地平线X3_rdkx3为例)

📅 发布时间:2026/7/28 22:15:20
「部署记录」opencv交叉编译并移植ARM端侧设备全流程(地平线X3_rdkx3为例) 首先需要下载opencv-4.11.0的包下载地址https://opencv.org/releases/打开网页点这里即可完成下载。下载完成后得到的包如下得到下载包后将其拷贝到宿主机即你的开发机一般是远程服务器ubutun系统的拷贝到你的目录下后解压unzip -q opencv-4.11.0.zip进入目录cd opencv-4.11.0我们以地平线x3为例地平线x3芯片架构为arrch64因此需要指定的cmake文件将opencv交叉编译到指定的架构环境下使用。进入以下目录cd platforms接着进入下面的目录cd linux然后找到指定架构的cmake文件这里我以地平线X3芯片为例。读者需要按照自己的芯片目录进行编写这里我们使用vim工具打开指定的地平线x3平台的cmake文件vim arrch64-gnu.toolchain.cmake如图进入后需要按照自己的指定芯片的交叉编译工具链进行编写其中vim工具进入后按i可以执行插入操作写入完成后按ESC键后再输入:wq即可保存并退出文件。下面给出针对地平线x3的指定的cmake文件示例set(CMAKE_SYSTEM_NAME Linux)set(CMAKE_SYSTEM_PROCESSOR aarch64)set(CMAKE_C_COMPILER/opt/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc)set(CMAKE_CXX_COMPILER/opt/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-g)set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)注意上面的c和c的交叉工具编译链每个人是不一样的你需要找到你的编译文件的位置然后导入引入才可。执行完毕后保存并退出。然后即可执行交叉编译命令编译opencv。确保在此目录下执行即你的opecv解压后的目录mkdir-pbuildcdbuild cmake-DCMAKE_TOOLCHAIN_FILE../platforms/linux/aarch64-gnu.toolchain.cmake\-DCMAKE_INSTALL_PREFIX$HOME/install/opencv\-DBUILD_EXAMPLESOFF\-DBUILD_opencv_pythonOFF\-DWITH_GTKOFF\-DWITH_JPEGON\-DBUILD_SHARED_LIBSOFF\-DENABLE_NEONON\-DCMAKE_MAKE_PROGRAM/usr/bin/make\-DCMAKE_CXX_FLAGS\..make-j4makeinstall而后执行安装编译被编译好的opecv被保存在根目录下的install目录下由上述编译命令里面的这条决定你可以选择自己的目录。-DCMAKE_INSTALL_PREFIX$HOME/install/opencv\注意编译命令你也可以选择自己更改开关某些模块之类的具体指令需要自己查阅。 可以看到已经成功编译并安装。而后我们即可在交叉编译的CmakeLsits.txt文件中指定opencv的路径然后链接即可。