You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu20.04运行darknet报错libopencv_highgui.so.3.2缺失

问题原因

Ubuntu 20.04官方软件源提供的OpenCV版本为4.2,系统默认不存在libopencv_highgui.so.3.2这个3.2版本的动态库。你当前运行的darknet二进制文件是在OpenCV 3.2环境下编译生成的,运行时会固定查找对应版本的依赖库,因此触发共享库加载错误。

解决方法

按可靠性从高到低排列:

  • 重新编译darknet适配当前系统环境(首选,无兼容隐患)
    1. 进入本地darknet源码根目录
    2. 编辑目录下的Makefile配置文件:
      • 你当前执行的检测命令带了-dont_show参数,不需要GUI弹窗显示检测结果,可以直接关闭OpenCV编译选项,彻底规避相关依赖:
        OPENCV=0
        
      • 如果后续需要使用可视化检测功能,保持OPENCV=1配置,先执行命令安装系统源的OpenCV开发包:
        sudo apt update
        sudo apt install -y libopencv-dev
        
    3. 清理旧的编译缓存,重新编译二进制:
      make clean
      make -j$(nproc)
      
    4. 编译完成后直接运行原检测命令即可正常执行。
  • 软链接现有高版本OpenCV库做版本兼容(临时修复方案,存在运行崩溃风险)
    不想重新编译的情况下可以用该方案快速跑通任务:
    1. 查找系统中已安装的libopencv_highgui库路径:
      sudo find /usr/lib -name "libopencv_highgui.so.*"
      
      正常安装过libopencv-dev的Ubuntu 20.04会返回路径形如/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.4.2
    2. 进入对应库目录,创建版本软链接并刷新动态库缓存:
      cd /usr/lib/x86_64-linux-gnu
      sudo ln -s libopencv_highgui.so.4.2 libopencv_highgui.so.3.2
      sudo ldconfig
      
    3. 操作完成后即可尝试运行darknet命令。
      注意:该方案本质是伪装版本号,如果OpenCV 3.2和4.2之间存在接口不兼容,运行过程中可能出现随机崩溃,仅适合临时使用。
  • 手动安装OpenCV 3.2版本(不推荐)
    直接在Ubuntu 20.04上安装OpenCV 3.2的安装包会和系统默认的4.x版本产生文件冲突,大概率导致其他依赖OpenCV的系统软件运行异常,非特殊需求不要选择该方案。

内容的提问来源于stack exchange,提问作者hroll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 00:15:45