0

当我尝试在 Ubuntu 18.04 中编译英特尔 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

4

2 回答 2

2

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

您在没有配置选项的情况下编译了 ffmpeg,但您需要--enable-shared这些.so文件。

您可以使用 编译FFmpeg 2.8发布分支--enable-shared,它将提供libavcodec.so.56等。请注意名称差异:libavcodec.so.56vs libavcodec-ffmpeg.so.56。如果这会导致问题,您将不得不处理它。我将首先参考./configure --help您正在编译的任何内容或等价物。

于 2018-11-14T05:47:18.700 回答
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尝试再次构建您的项目。

于 2018-11-14T01:34:28.737 回答