2017-11-11 373 views
2

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

回答

0

代碼好吧,現在從任何人的答案。看起來不是一個常見的錯誤。挖掘之後,似乎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 

希望這將幫助別人。

相關問題