SDL2_mixer在mac(运行时)上的init初始化失败

问题描述:

在mac上遇到困难时刻的Sdl2。 代码编译良好,但在运行时Mix_init失败,此错误:SDL2_mixer在mac(运行时)上的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); 
} 

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

这里酿造命令

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 

希望这将帮助别人。