2016-01-13 101 views
-2

当试图使用C语言中的Allegro 5或Python中的PyGame(都使用SDL)来加载和显示位图时,它会呈现一个小故障(请参见下面的截图)。OS X上的SDL_image视觉故障El Capitan

我试着用Google搜索,发现它可能与SDL_image与OS X El Capitan不兼容,但没有解决方案。任何人?

目前,我想:

  • 安装SDL_image 1.2.10(最新兼容的版本)。 不!
  • 通过自定义公式将SDL_image 1.2.10与Homebrew一起安装。 也没事!

在截图上,那些随机像素应该是三个红砖位图。顺便说一句,我使用这些功能来加载和绘制位图,分别为:

tileset[0] = al_load_bitmap("./data/gfx/bricks.png"); 
al_draw_bitmap(tileset[0], pos_x, pos_y, 0); 

Screen

回答

1

的错误实际上是SDL_image在埃尔卡皮坦。将SDL_image降级到1.2.10(而不是 SDL)有一个解决方法。您可能已经安装了SDL 1.2.10,但仍然有SDL_image 1.2.12。尝试删除并强制安装正确的版本。

看到这里的细节:

https://bitbucket.org/pygame/pygame/issues/284/max-osx-el-capitan-using-the-deprecated

我试过这个解决自己和pygame的现在10.11下工作的罚款。

+0

让我纠正我的问题......我实际上降级了SDL_image,而不是SDL。 –

+0

您是否确认没有安装该库的多个副本。我的第一个怀疑是SDL_image的另一个版本正在潜伏。 您是否在修复SDL_image版本后重新编译了Pygame? – Chris

+0

我真的不知道OS X上的库路径。我强制重新编译Allegro,但它仍然无法工作。 –