在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);
}
答案 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
希望它会帮助别人。