下载MinGW版的文件

http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz

解压放到mysys下面

运行Makefile

mysys的include目录加入了SDL2的头文件目录

lib目录加入了libSDL2.a等文件

复制一份bin目录下的SDL2.dll以备后用

然后复制mysys的indluce目录下的SDL2目录和lib目录下的几个SDL2.a到MinGW的include和lib目录一份

编译IDE依然使用Codeblocks,设置同Ubuntu

http://www.cnblogs.com/kileyi/p/5005002.html

不同的是windows环境源码要加上一句

#undef main

这个在Visual Studio中使用SDL2也要加这句

 #include <iostream>
#include <SDL2/SDL.h> #define WIDTH 640
#define HEIGHT 480
#define BPP 4
#define DEPTH 32 using namespace std; #undef main int main(int argc, char* argv[])
{
SDL_Surface *screen;
SDL_Event event; int keypress = ;
int h = ; if (SDL_Init(SDL_INIT_EVERYTHING) == - ) {
cout << "error: " << SDL_GetError() << endl;
return ;
} SDL_Window* window = SDL_CreateWindow("hello", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, , , SDL_WINDOW_SHOWN);
if (window == NULL){
cout << "Error: " << SDL_GetError() << endl;
return ;
}
SDL_Renderer* renderer = SDL_CreateRenderer(window, -, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (renderer == NULL){
cout << "Error: " << SDL_GetError() << endl;
return ;
} SDL_Surface* surface = SDL_LoadBMP("bk.bmp");
SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
SDL_FreeSurface(surface); SDL_RenderClear(renderer); //清除屏幕
SDL_RenderCopy(renderer, texture, , ); //把texture画到renderer上
SDL_RenderPresent(renderer); while(!keypress)
{
//DrawScreen(screen, h++);
while(SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_QUIT:
keypress = ;
break;
case SDL_KEYDOWN:
keypress = ;
break;
}
}
} SDL_Quit();
return ;
}

编译可能出现

winapifamily.h: No such file or directory

搜索到这贴,说是SDL2.0.3的一个bug,下载修正的SDL_platform.h文件替换

http://stackoverflow.com/questions/22446008/winapifamily-h-no-such-file-or-directory-when-compiling-sdl-in-codeblocks

https://hg.libsdl.org/SDL/raw-file/e217ed463f25/include/SDL_platform.h

运行提示缺少SDL2.dll

把之前那个SDL2.dll放到测试程序目录下

D:\Program Files\CBProjects\SDL2Test\bin\Debug

运行成功

下一步考虑怎么搞个跨平台工程

Win7 MinGW环境测试SDL2.0.3的更多相关文章

  1. Win7 64位 MinGW环境测试SDL2.0.3

    下载MinGW版的文件 http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz 解压放到mysys下面 运行Makefile mysys ...

  2. Win7+VS2010环境下CEGUI 0.8.4编译过程详解

    转载▼   1. 在http://cegui.org.uk/download 下载CEGUI源码包 cegui-0.8.4 以及CEGUI依赖库(Windows / Apple OS X only) ...

  3. Win7 VS2015环境使用SDL2-2.0.4

    之前在VS中使用SDL2,如果只链接SDL2.lib,会提示 error LNK2019: unresolved external symbol _main referenced in functio ...

  4. 在VS2015中的SDL2.0开发环境搭建

    写本文的目的在于使用网络上的教程及官方的教程(如:http://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-visual-studio) ...

  5. win8.1下golang+sdl2.0环境搭建

    sdl2.0的golang绑定我是使用的这个,但是它的官方介绍里面只有linux以及OSX系统的说明,没有windows的,在我的mbp上弄好以后就考虑在win下也搭建一个开发环境,这样就能比较方便的 ...

  6. SDL2.0的VS开发环境搭建

    SDL2.0的VS开发环境搭建 [前言] 我是用的是VS2012,VS的版本应该大致一样. [开发环境搭建] >>>SDL2.0开发环境配置:1.从www.libsdl.org 下载 ...

  7. win7 IIS7环境下部署PHP 7.0

    最近在本机电脑win7 II7环境下部署PHP 7.0遇到一些问题,将之记录下来 简要步骤如下: 1.到php官网下载php,由于是IIS环境要下载非线程安全的版本,我下载的是7.0.13 2.解压到 ...

  8. hadoop3.1.0 window win7 基础环境搭建

    https://blog.csdn.net/wsh596823919/article/details/80774805 hadoop3.1.0 window win7 基础环境搭建 前言:在windo ...

  9. SDL2.0 学习笔记-1 windows下的第一个测试程序

    SDL全称是Simple DirectMedia Layer,是一个开源的.跨平台(win32,linux,mac)的多媒体开发c语言库. 官方网站 http://www.libsdl.org/ 第一 ...

随机推荐

  1. 项目总结10:通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题

    通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题 关键字 springboot热部署  ClassCastException异常 反射 ...

  2. Json、JavaBean、String等互转

    Json.JavaBean.String等互转 本文介绍简单的Json.JavaBean.String互换(下文JavaBean简称Object对象,这里不是很严谨) 转换关系如下: 其中String ...

  3. RSA加密原理使用方式签名验证

      RSA加密原理使用方式签名验证 加密是网络传输中非常重要的一环,它保证了信息的安全性,让他人无法通过抓包来获取通讯的信息也无法通过伪造信息而实现对系统的入侵.其中最为常用的信息传递加密方式就是RS ...

  4. ATM取款机系统代码及此次作业感受

    本次乃我们软件工程专业开学第一个小测试,本来以为是和之前2016级相同的或者类似得软件,所以之前学了好久的那个程序完全失去了它的作用,当然了老师也从来没有按套路出过牌,所以这个下马威我觉得作用起到了. ...

  5. day 21 封装,多态,类的其他属性

    封装 封装:将一些数据,重要的信息等等放到一个地方(空间中) class A: country = 'China' area = '深圳' def __init__(self,name,age): s ...

  6. C# 创建WebService的简单示例

    工具Visual Studio 2013 1.创建一个空的Web应用程序. 2.鼠标右击项目,添加->新建项 选择Web服务(ASMX),点击添加.一个简单的webservice就创建完成了.

  7. git log的用法

    git log 查看 提交历史默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面. git log --graph --pretty=format:'%Cred%h ...

  8. eclipse 安装python后pydev不出现

    一.环境 windows 7 64bit eclipse 4.5.2 pydev jdk7u55 二.安装步骤 1. 安装JDK eclipse依赖于java环境,所以需要安装java运行环境JRE. ...

  9. gearman中worker常驻后台,导致MySQL server has gone away

    产生这个原因主要有如下几点: 1.mysql服务宕机了 2.长时间没有操作,超过了wait_timeout的设置,mysql自动断开 3.mysql请求链接被主动kill 4.发送的请求或返回结果过大 ...

  10. python 常库介绍及安装方法

    bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctypes:用来调用动态链接库DBUtils:数 ...