即使已安装libavcodec 56也未找到

时间:2018-11-14 00:53:21

标签: linux ffmpeg computer-vision intel openvino

当我尝试在Ubuntu 18.04中编译Intel OpenVino项目时,我不断收到此错误消息:warning: libavcodec-ffmpeg.so.56, needed by /opt/intel/computer_vision_sdk_2018.3.343/opencv/lib/libopencv_videoio.so.3.4.3, not found

我还收到以下类似的错误消息:libavformat-ffmpeg.so.56libavutil-ffmpeg.so.54libswscale-ffmpeg.so.3

但是,当我在终端中键入ffmpeg时,我得到:

ffmpeg version 2.7.7 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04) configuration:
    libavutil 54. 27.100 / 54. 27.100
    libavcodec 56. 41.100 / 56. 41.100
    libavformat 56. 36.100 / 56. 36.100
    libavdevice 56. 4.100 / 56. 4.100
    libavfilter 5. 16.101 / 5. 16.101
    libswscale 3. 1.101 / 3. 1.101
    libswresample 1. 2.100 / 1. 2.100 Hyper fast Audio and Video encoder

我有所有正确的版本。 ffmpeg位于/ usr / local / bin中。为什么OpenVino无法看到它?任何建议将不胜感激,在此先感谢!

这是我要编译的项目:https://github.com/intel-iot-devkit/intruder-detector

2 个答案:

答案 0 :(得分:1)

似乎期望Ubuntu 16.04 ffmpeg软件包中的文件被Ubuntu打包为libavcodec-ffmpeg.so.56等(当前的Ubuntu使用标准名称,例如libavcodec.so.57。)

您编译的ffmpeg没有配置选项,但是--enable-shared文件需要.so

您可以使用--enable-shared来编译FFmpeg 2.8版本分支,它将提供libavcodec.so.56,依此类推。请注意名称的区别:libavcodec.so.56libavcodec-ffmpeg.so.56。如果那引起问题,您将不得不处理。首先,我将参考./configure --help或您正在编译的任何内容。

答案 1 :(得分:0)

您的链接器抱怨找不到动态库。您需要找出那些共享对象在哪里以及链接程序在哪里搜索它们。

ldconfig -v 2>/dev/null |grep -v ^$'\t'
# ldconfig is a tool for configure linker search path
# This command will tell you where it is searching for the necessay libs.

我想您的库可能位于/usr/local/lib中,并且链接程序未搜索此目录。

如果是这样,请尝试在/etc/ld.so.conf.d下创建一个包含该目录的文件,例如说/etc/ld.so.conf.d/local.conf。  然后sudo ldconfig,然后尝试再次构建您的项目。