【问题标题】:SDL2_mixer failed init on mac (runtime)Mac 上的 SDL2_mixer 初始化失败(运行时)
【发布时间】:2017-11-11 03:53:54
【问题描述】:

在 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);
}

【问题讨论】:

    标签: c macos sdl-2


    【解决方案1】:

    好的,现在任何人都可以回答。看起来这不是一个常见的错误。经过挖掘,似乎 SDL2_mixer 在 MacOs 上无法正常工作。 我使用了 SDL2_mixer-1.2,没问题。当然,我需要更改一些代码。 幸运的是,只需要更改初始化。在mixer1.2 和mixer2 中所有的功能都是一样的。 然而,有一些小事要做。 - 如果已安装,则删除 sdl_mixer - 安装一些其他依赖项 -重新安装 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
    

    希望对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多