【问题标题】:Building ffmpeg for Windows with MSYS and MinGW使用 MSYS 和 MinGW 为 Windows 构建 ffmpeg
【发布时间】:2026-01-28 04:10:02
【问题描述】:

我正在尝试为给定here 的 Windows (Xp - SP2) 构建 ffmpeg。

./configure -–extra-cflags=”-mno-cygwin -mms-bitfields” -–extra-ldflags=”-Wl, -add-stdcall-alias” -–enable-memalign-hack -–enable-shared -–disable-static -–target-os=mingw32

上面的命令按照指示放在myconfig文件中,当我运行./myconfig时,显示如下错误:

Broken Shell detected. Trying alternatives.
Trying Shell bash
Unknown option "-–extra-cflags=-mno-cygwin".

按照链接中的建议,我尝试了各种选项,但仍然无法成功。

我的环境是 Win XP:

  • MinGW-5.1.6,
  • bash-2.05b-MSYS,
  • MSYS-1.0.10,
  • ffmpeg-0.5

编辑:

通过引用howto 对上述命令进行某些更改后,我能够成功运行 make 命令,并且我在各自的目录中找到了以下 DLL

  • ffmpeg\libavcodec\avcodec-51.dll
  • ffmpeg\libavformat\avformat-51.dll
  • ffmpeg\libavutil\avutil-49.dll

但我没有看到任何 ffmpeg\ffmpeg.exe 文件:(

可能出了什么问题?

【问题讨论】:

  • 我已将此标记为属于 Stack Overflow,因为这是一个编程问题。继续创建并关联您的帐户,以便您在帐户移动时拥有所有权。
  • 我在 * 中有一个帐户 :)
  • @Sri - 那没关系;)我应该检查你的个人资料 - 抱歉。
  • 真的,这不属于 * 吗?
  • 运行“make clean && make”后的最后几行是什么?

标签: windows-xp ffmpeg mingw


【解决方案1】:

可能跑题了,但我写了一个 script for Cygwin 这样做。

【讨论】:

  • 谢谢!我从那里下载了最新版本,但是为了使用 libfdk_aac 来配置 ffmpeg,我尝试了 c:\FFMPEG\bin>ffmpeg --enable-libfdk_aac --enable-nonfree 但它抛出“无法识别的选项'-enable-libfdk_aac'。拆分参数列表时出错:找不到选项”。想法?
  • 那么,我不能直接将编解码器添加到现有的 FFMPEG exe 中吗?很抱歉,我在这里没有明白你关于如何使用你的脚本的观点:(
【解决方案2】:

Ramiro 的 FFmpeg for Windows 网站提供了更好的分步说明,并且有一个社区论坛,如果 Wiki 尚未回答您的问题,您可以在该论坛提问。

【讨论】:

【解决方案3】:

终于用这个博客http://www.finalmediaplayer.com/source.html成功在windows上构建ffmpeg了

您可能还想将lamex264 添加到您的构建中。

  1. 将 tar 解压到 /ffmpeg/libraries
  2. ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared
  3. make
  4. make install

其他库:

使用以下选项重新配置您的 ffmpeg:--enable-libx264 --enable-libmp3lame --enable-libfaac --enable-libfdk-aac

【讨论】: