树莓派4B Ubuntu下CMake编译OpenCV依赖缺失及下载超时问题
解决树莓派4B Ubuntu编译OpenCV的依赖与下载问题
一、修复OpenBLAS检测失败
日志显示CMake无法找到OpenBLAS的头文件和库,按以下步骤处理:
- 先确保安装完整的OpenBLAS开发包:
sudo apt-get update && sudo apt-get install libopenblas-dev liblapack-dev - 编译时手动指定OpenBLAS路径,在CMake命令中添加参数:
-D OpenBLAS_INCLUDE_DIR=/usr/include/openblas \ -D OpenBLAS_LIB=/usr/lib/arm-linux-gnueabihf/libopenblas.so
二、解决VTK找不到的问题
CMake提示需要指定VTK_DIR,处理方式分两种:
方式1:通过apt安装VTK(简单快捷)
sudo apt-get install libvtk7-dev
安装完成后CMake会自动检测VTK,若仍未检测到,添加参数:
-D VTK_DIR=/usr/lib/arm-linux-gnueabihf/cmake/vtk-7.1
(版本号根据实际安装的VTK调整,比如vtk8则路径为vtk-8.2)
方式2:源码编译VTK后指定路径
如果是源码编译的VTK,找到VTKConfig.cmake所在目录(通常在VTK编译后的build目录,或安装目录的lib/cmake/vtk-xx.x下),然后在CMake命令中添加:
-D VTK_DIR=/path/to/VTKConfig.cmake/directory
三、解决ADE、boostdesc等资源下载超时
这是网络限制导致的,两种解决方法:
方法1:手动下载资源到缓存目录
- 查看
/home/xjtlu/opencv-4.4.0/build/CMakeDownloadLog.txt,找到每个失败资源的下载链接 - 手动下载对应文件,放到OpenCV源码的
.cache目录对应位置:- ADE文件放到
opencv-4.4.0/.cache/gapi - boostdesc系列文件放到
opencv-4.4.0/.cache/xfeatures2d/boostdesc - 确保文件名与CMake日志中要求的完全一致
- ADE文件放到
方法2:禁用依赖这些资源的模块(如果不需要)
如果不需要gapi、xfeatures2d模块,直接在CMake命令中添加参数跳过:
-D BUILD_opencv_gapi=OFF \ -D BUILD_opencv_xfeatures2d=OFF
修改后的完整CMake命令示例
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.4.0/modules \ -D BUILD_EXAMPLES=ON \ -D OpenBLAS_INCLUDE_DIR=/usr/include/openblas \ -D OpenBLAS_LIB=/usr/lib/arm-linux-gnueabihf/libopenblas.so \ -D VTK_DIR=/usr/lib/arm-linux-gnueabihf/cmake/vtk-7.1 \ -D BUILD_opencv_gapi=OFF \ -D BUILD_opencv_xfeatures2d=OFF ..
内容的提问来源于stack exchange,提问作者user23322634
相关产品推荐
相关产品推荐

