在Windows下用MinGW+GCC编译SDL的注意事项

长期(大于3年)以来被一个极其郁闷的问题困扰:就是在自己用gcc编译的SDL.dll一直比libsdl.org官方发布的SDL.dll的性能弱。即使用同样的codebase也是如此,最初是怀疑编译器的版本不同造成的,今天仔细分析了SDL编译时的configure脚本的实现,才发现真正原因是SDL用来侦测DirectX的代码与我本地的MinGW的内置的include和libs不兼容造成的,使得SDL自动将DirectX加速给关掉了,只用最基本的GDI32+WaveOut来进行Video/Audio的渲染,而不是用DDraw+DSound来进行加速处理。
参照网址(http://www.libsdl.org/extras/win32/mingw32/README.txt)的介绍:
===========================================================================
Q: My version of SDL doesn't have DirectX support!
A: You need to get the DirectX development headers and libraries from:
http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz
   You need to unpack these in the /mingw directory.
做了该处理后就可以得到和官方版本具有同样性能的SDL.dll了。
你的include/SDL_config.h,应该看起来如下面所示:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值