libavcodec 56 即使已安装也未找到
libavcodec 56 not found even though it is installed
当我尝试在 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.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
您的链接器抱怨找不到动态库。您需要找出这些共享对象在哪里以及您的链接器在哪里搜索它们。
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
并再次尝试构建您的项目。
似乎需要来自 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
vs libavcodec-ffmpeg.so.56
.如果这导致问题,你将不得不处理它。我首先参考 ./configure --help
或您正在编译的任何等价物。
当我尝试在 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.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
您的链接器抱怨找不到动态库。您需要找出这些共享对象在哪里以及您的链接器在哪里搜索它们。
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
并再次尝试构建您的项目。
似乎需要来自 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
vs libavcodec-ffmpeg.so.56
.如果这导致问题,你将不得不处理它。我首先参考 ./configure --help
或您正在编译的任何等价物。