【发布时间】:2020-09-22 14:04:24
【问题描述】:
我是 stackowerflow 的新手。
我需要一个建议 :) 我尝试在 Ubuntu 16 LTS 下从源代码编译 ffmpeg 2.8.15。我需要为一个 SDK 编译它,我不能使用存储库中的 ffmpeg。我成功编译了ffmpeg。但是当我尝试使用 SDK 编译我的代码时,我的指定 SDK 出现了问题:
SDK.so: undefined reference to `av_rescale_q@LIBAVUTIL_FFMPEG_54'
我认为问题在于符号名称。我尝试用
读取符号readelf -s libavutil-ffmpeg.so.54
我在我编译的 ffmpeg 中得到类似这样的东西
158: 0000000000024170 55 FUNC GLOBAL DEFAULT 12 av_rescale_q@@LIBAVUTIL_54
我用存储库中的 libavutil-ffmpeg.so.54 尝试了这个,我得到了
158: 0000000000024170 55 FUNC GLOBAL DEFAULT 12 av_rescale_q@@LIBAVUTIL_FFMPEG_54
我想我需要在符号名称中添加一个后缀“FFMPEG”。 我使用此配置构建 ffmpeg,它与从存储库构建的配置相同:
sudo ./configure --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
您能帮忙在符号名称中添加后缀“-ffmpeg”吗? 谢谢
最好的问候
复习
【问题讨论】:
标签: ffmpeg build compilation ubuntu-16.04