首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试为Windows10 (x86_64)静态编译FFmpeg 4.2.3,但二进制文件要求缺少DLL

尝试为Windows10 (x86_64)静态编译FFmpeg 4.2.3,但二进制文件要求缺少DLL
EN

Stack Overflow用户
提问于 2020-05-27 07:41:19
回答 1查看 898关注 0票数 0

我正在使用Msys MinGW (x86_64),并从他们的网站上下载了FFmpeg的最新主要版本的快照。这是我的./configure选项。我计划在我编译它的计算机和我拥有的其他Windows计算机上使用这些二进制文件。

代码语言:javascript
复制
./configure --enable-libaom --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libgme --enable-libmfx --enable-libkvazaar --enable-libmp3lame --enable-libilbc --enable-libvpx --enable-libmodplug --enable-version3 --enable-nonfree --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libfdk-aac --enable-libopenh264 --enable-libopenjpeg --enable-nvenc --enable-nvdec --enable-cuda --enable-cuvid --enable-libtwolame --enable-vapoursynth --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxavs2 --enable-gpl --enable-static --disable-shared

Output of configure script (pastebin)

uname -a的输出(单位: Msys)

代码语言:javascript
复制
MINGW64_NT-10.0-18362 <scrubbed> 3.1.4-340.x86_64 2020-05-22 08:28 UTC x86_64 Msys

我面临的问题是,尽管传递了选项--enable-static--disable-shared,但生成的可执行文件仍然需要libchromaprint.dlllibfdk-aac-2.dlllibgme.dll才能运行。我所期望的是,由于我将这些选项传递给了./configure,所以FFmpeg将独立于任何DLL文件执行。

EN

回答 1

Stack Overflow用户

发布于 2020-05-29 19:47:32

即使您指定了--enable-static,在没有找到静态库的情况下也可以使用共享库。在构建过程中,您应该会收到来自libtool的有关此问题的警告。

因此,如果它查找libchromaprint.a但找不到它,它将链接到libchromaprint.dll.a,从而导致对DLL的依赖。

检查依赖项以查看它们的静态库是否可用(在您的示例中为libchromaprint.alibfdk-aac-2.alibgme.a)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62043032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档