SDL2_mixer在mac上运行失败(运行时)

时间:2017-11-11 03:53:54

标签: c macos sdl-2

在Mac上使用Sdl2很难。 代码编译得很好但是在运行时Mix_init失败并出现此错误:

OGG Support Not Available

我安装了sdl2_mixer这个奇怪的事情:

brew install SDL2_mixer --with-libvobis

这是初始化代码

int flags = MIX_INIT_OGG;
int initted = Mix_Init(flags);
if ((initted & flags) != flags)
{
    printf("Mix_Init: Failed to init SDL_Mixer\n");
    printf("Mix_Init: %s\n", Mix_GetError());
    MSG_EXIT("Exiting ",1);
}

1 个答案:

答案 0 :(得分:0)

好的,现在回答任何人。看起来这不是一个常见的错误。挖掘后,似乎SDL2_mixer在MacOs上无法正常工作。 我用过SDL2_mixer-1.2就可以了。当然,我需要改变一点代码。 幸运的是,只需要更改初始化。在mixer1.2和mixer2中,所有功能都相同。 但是有一些小事要做。 - 如果已安装,请删除sdl_mixer - 安装一些其他依赖项 -reinstall sdl_mixer 请勿删除SDL2_MIXER。 我不知道它是如何工作的,为什么我不应该删除它,我刚刚意识到当我删除它时我有其他疯狂的错误,即使我编译了wil -lsdl_mixer而不是-lsdl2_mixer。

这是brew命令

brew install sdl_mixer --with-libvorbis    
brew uninstall libvorbis libogg //it may ask you de remove sdl_mixer

然后

brew install sdl sdl_image sdl_ttf portmidi hg git
brew reinstall sdl_mixer --with-libvorbis

希望它会帮助别人。