当我尝试在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.56
,libavutil-ffmpeg.so.54
和libswscale-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
答案 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.56
与libavcodec-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
,然后尝试再次构建您的项目。