C 运行ffmpeg+时出现分段错误;sdl程序

C 运行ffmpeg+时出现分段错误;sdl程序,c,ffmpeg,sdl,C,Ffmpeg,Sdl,我开始使用FFMPEG和SDL构建视频播放器。代码教程4编译得很好,但是当我运行它时,我得到了一个分段错误 我正在使用gcc Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.3.0 Thread model: posix 在Mac 10.10.3上 以下是GDB回溯: Program received signal SIGSEGV, Segmen

我开始使用FFMPEG和SDL构建视频播放器。代码教程4编译得很好,但是当我运行它时,我得到了一个分段错误

我正在使用gcc

Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix 
在Mac 10.10.3上

以下是GDB回溯:

 Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x1813 of process 84136]
0x00007fff955d4432 in stack_not_16_byte_aligned_error ()
from /usr/lib/system/libdyld.dylib
(gdb) backtrace 
#0  0x00007fff955d4432 in stack_not_16_byte_aligned_error ()
from /usr/lib/system/libdyld.dylib
#1  0x000000010a2f1ee0 in ?? ()
#2  0x0000000101341008 in ?? () from /usr/local/lib/libSDL-1.2.0.dylib
#3  0x00000000000005d0 in ?? ()
#4  0x00000001013362e9 in RunThread () from /usr/local/lib/libSDL-1.2.0.dylib
#5  0x00000001013362e2 in RunThread () from /usr/local/lib/libSDL-1.2.0.dylib
#6  0x00007fff8d1d4268 in ?? () from /usr/lib/system/libsystem_pthread.dylib
#7  0x0000000000006f23 in ?? ()
#8  0x000000010a2f2000 in ?? ()
#9  0x000000010a2f1f50 in ?? ()  
#10 0x00007fff8d1d41e5 in ?? () from /usr/lib/system/libsystem_pthread.dylib
#11 0x0000000000000000 in ?? ()
(gdb) 
另一个SIGSEGV的回溯跟踪:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x15eb of process 11453]
0x00000001012c9475 in av_log_format_line ()
from /usr/local/lib/libavutil.54.dylib
(gdb) bt
#0  0x00000001012c9475 in av_log_format_line ()
from /usr/local/lib/libavutil.54.dylib
#1  0x00000001012f7338 in av_pix_fmt_descriptors ()
from /usr/local/lib/libavutil.54.dylib
#2  0x00000018012f7358 in ?? ()
#3  0x000000010a2f3010 in ?? ()
#4  0x000000010a2f2c10 in ?? ()
#5  0x000000010011d65a in ?? () from  /usr/local/lib/libavformat.56.dylib
#6  0x000000010a2f3900 in ?? ()
#7  0x0000000000000018 in ?? ()
#8  0x0000000000000018 in ?? ()
#9  0x000000010011d65a in ?? () from /usr/local/lib/libavformat.56.dylib
#10 0x000000010a2f3900 in ?? ()
#11 0x910016d093cdc267 in ?? ()
#12 0x000000010a2f3eb0 in ?? ()
#13 0x00000001012c96e8 in av_log_default_callback ()
from /usr/local/lib/libavutil.54.dylib
#14 0x0000000000000000 in ?? ()
(gdb) 
main方法中对
SDL_WaitEvent
的调用是调试中出现这些错误的地方

for(;;) {
SDL_WaitEvent(&event);
switch(event.type) {
case FF_QUIT_EVENT:
case SDL_QUIT:
  is->quit = 1;
  SDL_Quit();
  return 0;
  break;
case FF_REFRESH_EVENT:
  video_refresh_timer(event.user.data1);
  break;
default:
  break;
 }
}

这与pthread library或sdl有关吗?我该如何解决它?

将a编辑到问题中。@genpfault您能告诉我我还需要添加哪些详细信息吗。将您链接到的粘贴库中的代码,修剪到崩溃的部分(由您和调试器确定),然后将结果编辑到问题中。即a。