从源码编译 sdl2.dll

songofhawk

本人对C++开发完全不熟悉,但一个python项目需要的缘故,要修改SDL2的源码,网上搜资料,发现关于SDL源码编译的内容少得可怜,而且对C++的门外汉太不友好了,导致走了很多弯路。

尝试了各种环境:

- 本机 Win10+VS_2019: 生成成功,不能用(提示不是有效的win32程序)
- 本机 Win10+VS_2015: 生成失败,找不到windows sdk
- 本机 Win10+MinGW: make失败, 无效的提示符
- 虚拟机 WinXP+MinGW: 安装失败, 无法下载需要的库文件
- 虚拟机 Win7+VS_2013:生成失败, 找不到windows sdk
- 虚拟机 Win7+MinGW: 安装失败, 无法下载需要的库文件(后来从本机copy后安装成功, 但make又失败了)
- **虚拟机 Win7+VS_2012**:生成成功,修改平台为x64可用

最后在Win7+vs_2012环境成功了,却发现仅仅是平台选项的问题,返回去在“本机 Win10+VS_2019”环境下修改配置, 也成功了。不过应该还是2012环境下生成的兼容性更好一些,2019的这个版本太新了。

下面详细记述过程

  1. 安装visual studio 2012 express (免费版,之后的版本都叫community了),注意一定要下载DVD版的,exe版非常小,要在安装的时候下载需要的包,经常下载不下来。VS2012官网下载 / VS2012百度网盘下载-提取码:q138)
  2. 下载SDL2源码。SDL2 官网下载 / SDL2 百度网盘下载-提取码:8n7z 下载SDL2
  3. 用VS2012打开项目,由于SDL源码中已经做好了vs的solution,直接找到解决方案文件打开就好了,位置在[SDL ROOT]/VisualC/SDL.sln。如下图所示:VS 2012 解决方案
  4. 右击SDL2这个项目直接“生成”就可以了,生成结果会输入在console中。生成结果

要注意的是:根据运行环境是32位和64位的,需要调整平台(platform)选项。

  1. 右击项目,选择属性:image.png
  2. 点击配置管理器image.png
  3. 分别选择release和debug版本对应的平台,32位选win32,64位选x64
  4. 生成的时候,debug版带调试信息,但文件大,性能较差,release版更适合生产运行时使用。

===

阅读 2.2k

hawk
关注创业公司的技术与团队
260 声望
15 粉丝
0 条评论
260 声望
15 粉丝
文章目录
宣传栏