2011-01-26 116 views
0

我试图建立与ffmpeg的支持libx264。配置和编译是成功的,但是当我运行ffmpeg时,应用程序崩溃。ffmpeg的崩溃,并退出代码0xc0000022

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** 

任何人有任何线索,这可怎么解决?

回答

2

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

  • 你应该建立链接到用相同的工具链的所有库。它可能有可能Cygwin的内置ffmpeg的链接到VC++ - 建libx264,但由于没有很好的理由这样做,你不应该。

  • 尝试“头”的ffmpeg和版本的源代码库

  • 其依赖你展现的Windows路径,但声称要使用Cygwin。尝试使用全Cygwin环境:从Cygwin的bash shell的建设,使用POSIX路径,等等。特别是,这将有助于确保图书馆得到安装在场所的构建工具可以找到它们。

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

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

+0

我都试过了,最后我通过交叉编译使Ubuntu的二进制成功。 这里是我跟着来解决这个链接:forums.gentoo.org/viewtopic-p-6359961.html建设有正确的工具版本号ffmpeg.arrozcru.org/autobuilds/ffmpeg/readme/...步骤 – 2011-02-07 08:43:02