ffmpeg在启动时在cygwin上崩溃,退出代码为0xc0000022

时间:2011-01-26 08:38:04

标签: windows cygwin ffmpeg

我正在尝试使用libx264支持构建ffmpeg。配置和编译成功,但是当我运行ffmpeg时,应用程序崩溃了。

ffmpeg configure option : ./configure --enable-static --enable-libx264 --enable-pthreads --enable-gpl --disable-doc --enable-memalign-hack --extra-ldflags="-L/usr/local/lib"
gcc --version 4.3.4

这是gdb转储,

$gdb ffmpeg_g.exe  
GNU gdb(GDB) 7.2  
Copyright(c) 2010 Free Software Foundation  
This GDB has configured as mingw32

Reading symbols from C:\work\ffmpeg25jan2011\ffmpeg\ffmpeg_g.exe.....done  
(gdb) break main  
BreakPoint 1 at 0x40a120 : file ffmpeg.c, line 4317  
(gdb) run -V  
Starting program: C:\work\ffmpeg25jan2011\ffmpeg\ffmpeg_g.exe  
[New Thread]  
gdb: Unknown Target exception 0xc0000022 at 0x7c96671e   
**During startup program exited with code 0xc0000022**  

任何人都有任何线索,如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

Windows错误代码0xc0000022表示“应用程序无法初始化”。它通常表示您的构建已损坏。有很多事情可能出错,但有些事情需要检查:

  • 您应该使用相同的工具链构建链接到的所有库。 可能可以将Cygwin构建的ffmpeg链接到VC ++构建的libx264,但由于没有充分的理由这样做,所以你不应该这样做。

  • 从源存储库中尝试ffmpeg及其依赖项的“head”版本

  • 您显示Windows路径,但声称正在使用Cygwin。尝试使用全Cygwin环境:从Cygwin bash shell构建,使用POSIX路径等。特别是,这将有助于确保库安装在构建工具可以找到它们的位置。

  • 您可能需要在/usr/lib中安装一些库,而不是默认的/usr/local/lib

  • 尝试完整重建:make clean && make