【问题标题】:ffmpeg crashes on cygwin on launch with exit code 0xc0000022ffmpeg 在启动时在 cygwin 上崩溃,退出代码为 0xc0000022
【发布时间】:2011-06-15 17:07:02
【问题描述】:

我正在尝试构建支持 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**  

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

【问题讨论】:

    标签: windows cygwin ffmpeg


    【解决方案1】:

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

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

    • 从源代码库尝试 ffmpeg 的“头”版本及其依赖项

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

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

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

    【讨论】:

    • 我尝试了一切,最后通过交叉编译在ubuntu上制作二进制文件成功了。这是我用来解决这个问题的链接:forums.gentoo.org/viewtopic-p-6359961.html 使用正确的工具版本号构建步骤 ffmpeg.arrozcru.org/autobuilds/ffmpeg/readme/...
    猜你喜欢
    • 2011-09-04
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2016-05-12
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多