我正在尝试使用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**
任何人都有任何线索,如何解决这个问题?
答案 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