Mac OS X编译SDL


SDL目录结构



SDL分数个库:
  • SDL-1.3.0-6217:SDL主库SDL.framework。
  • SDL_image-1.2.12:SDL图像辅助库SDL_image..framework。
  • SDL_mixer-1.2.12:SDL音频辅助库SDL_mixer..framework。
  • SDL_net-1.2.8:SDL网络辅助库SDL_net.framework。
  • SDL_ttf_2.0.11:SDL字符串渲染辅助库SDL_ttf.framework。
  • smpeg:解码mp2/mp3音频格式要用到的库,是SDL_mixer.framework辅助库。
    __________________________________________________
  • freetype-2.3.9:freetype是个渲染字体库,但在此种它没作为一个独立库,源文件被汇到入SDL_ttf编译成SDL_ttf.framework。
    __________________________________________________
  • SDL.framework:它就是SDL主库生成的SDL.framework,便于辅助库包含那些头文件。
    __________________________________________________
  • jpeg-8d:Mac OS X时可忽略。
  • lpng157:Mac OS X时可忽略。
  • libogg-1.3.0:Mac OS X时可忽略。
  • libvorbis-1.3.2:Mac OS X时可忽略。
  • smpeg:Mac OS X时可忽略。
  • zlib:Mac OS X时可忽略。
  • SDL.framework.iPhoneOS:Mac OS X时忽略。


SDL是个开源库,源代码、lib、dll都可从sdl官方网站上下载。但这里还是选择了重新编译,这是考虑到几个原因。

1、对官方SDL库进行过修改。有兴趣的可以对比这里下载的和官方版本,改了几处。
2、要调试。直接下载的库没法设置断点,即没法进行源码级跟踪。
3、进行源码级调试可以更好地理解SDL内部是如何工作。

编译SDL.framework。打开并编译/SDL-1.3.0-6217/Xcode/SDL/SDL.xcodeproj。要确认编译是否成功,可以察看/SDL-1.3.0-6217/Xcode/SDL/build下是否生成了一个新的SDL.framework目录。

把生成的SDL.framework复制到/。

编译SDL_image.framework。打开并编译/SDL_image-1.2.12/Xcode/SDL_image.xcodeproj。要确认编译是否成功,可以察看/SDL_image-1.2.12/Xcode/build下是否生成了一个新的SDL_image.framework目录。

编译SDL_mixer.framework。打开并编译/SDL_mixer-1.2.12/Xcode/SDL_mixer.xcodeproj。要确认编译是否成功,可以察看/SDL_mixer-1.2.12/Xcode/build下是否生成了一个新的SDL_mixer.framework目录。

编译SDL_net.framework。打开并编译/SDL_net-1.2.8/Xcode/SDL_net.xcodeproj。要确认编译是否成功,可以察看/SDL_net-1.2.8/Xcode/build下是否生成了一个新的SDL_net.framework目录。

编译SDL_ttf.framework。打开并编译/SDL_ttf-2.0.11/Xcode/SDL_ttf.xcodeproj。要确认编译是否成功,可以察看/SDL_ttf-2.0.11/Xcode/build下是否生成了一个新的libSDL_ttf.framework目录。

编译smpeg.framework。打开并编译/smpeg/Xcode/smpeg.xcodeproj。要确认编译是否成功,可以察看/smpeg/Xcode/build下是否生成了一个新的smpeg.framework目录。

注:虽然smpeg.frame是作为运态链接库运行时被SDL_mixer.framework加载,但要编译SDL_mixer.framework可以不先编译smpeg.frame。因为是动态链接库,发布时需要把smpeg.framework和SDL_mixer.framework一样放在资源包中被发布

编译后形成的*.framework没有被放在统一目录下。要被主应用程序调用需手动复制到主应用程序能找到的目录下。


(未完待续)

你可能感兴趣的:(SDL)