树莓派配置OpenCV时遭遇Protobuf库相关CMake错误
嘿,我之前在安装OpenCV 3.3.0的时候也碰到过类似的CMake报错,给你几个大概率能解决的排查方向,你可以挨个试试:
检查opencv_contrib路径是否正确
首先确认你本地的opencv_contrib-3.3.0确实在用户主目录(~/)下。可以执行ls ~/opencv_contrib-3.3.0/modules命令,看看这个路径下是不是存在xfeatures2d、tracking这类模块文件夹。如果路径不对,CMake找不到额外模块就会直接报错,你只需要把OPENCV_EXTRA_MODULES_PATH改成实际的存放路径就行。补全依赖包
OpenCV 3.3.0依赖很多基础库,要是有缺失也会导致CMake配置失败。以Ubuntu/Debian系统为例,你可以用下面的命令补装所有必要依赖:sudo apt-get update sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev注意:部分新Ubuntu版本里
libjasper-dev可能无法直接安装,遇到这种情况可以先执行sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main",再重新安装这个包。清理缓存后重新配置
有时候build目录里的缓存文件会引发奇怪的配置错误,你可以彻底清空build目录后重新执行CMake命令:cd .. rm -rf build mkdir build cd build # 重新执行你的CMake配置命令 cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \ -D BUILD_EXAMPLES=ON ..检查CMake版本兼容性
OpenCV 3.3.0要求CMake版本至少为3.5.1,你可以用cmake --version查看当前版本。如果版本过低,建议升级CMake:sudo add-apt-repository ppa:george-edison55/cmake-3.x sudo apt-get update sudo apt-get install cmake
如果上面的方法都没解决问题,你可以把CMake报错的具体内容(比如输出末尾的红色错误日志)贴出来,这样能更精准地定位问题~
内容的提问来源于stack exchange,提问作者Tia

