SDL(simple DirectMedia Layer)是一个可跨平台的开源库,最近由于自己的兴趣,就把它windosXP下的环境搭建了下。
PC:Mircrosoft Windows XP Service Pack3
Platform:Mircrosoft Visual C++ 6.0
SourceCode:SDL-devel-1.2.14-VC6.zip
步骤
1. 解压SDL-devel-1.2.14-VC6.zip.将解压后的lib文件夹里把SDL.lib SDLmain.lib拷贝到VC6.0安装目录的lib文件夹下面。
2. 将SDL.dll拷贝到系统盘的WINDOWS/SYSTEM32目录下(如果你要将之后生成的SDL应用程序转移到其他没有配置SDL环境的机器上用的话,请将SDL.dll一起拷贝)。
3. 在VC6.0安装目录的include文件夹下面新建一个SDL的目录,并将SDL-devel-1.2.14-VC6.zip解压后的include里的文件拷贝到这个SDL目录下面。
4. 打开VC6,新建一个project->win32 Application.打开project目录下面的那个setting,选中C/C++,Category里选中Code Generation,Use run-time library使用Multithread DLL.
5. 继续在上面的setting中选中Link,Category里选中input,在Object/library modules中填入SDL.lib SDLmain.lib
6. 在VC项目中新建一个cpp,并添加到项目中,编译,运行.
相关链接
1.SDL http://www.libsdl.org/download-1.2.php
测试代码
#include <stdlib.h>
#include "SDL/SDL.h"

SDL_Surface *screen;

void render()
{        
    // Lock surface if needed
    if (SDL_MUSTLOCK(screen))    
        if (SDL_LockSurface(screen) < 0)    
            return;

    // Ask SDL for the time in milliseconds
    int tick = SDL_GetTicks();

    // Declare a couple of variables
    int i, j, yofs, ofs;

    // Draw to screen
    yofs = 0;
    for (i = 0; i < 480; i++)
    {
        for (j = 0, ofs = yofs; j < 640; j++, ofs++)
        {
            ((unsigned int*)screen->pixels)[ofs] = i * i + j * j + tick;
        }
        yofs += screen->pitch / 4;
    }

    // Unlock if needed
    if (SDL_MUSTLOCK(screen))    
        SDL_UnlockSurface(screen);

    // Tell SDL to update the whole screen
    SDL_UpdateRect(screen, 0, 0, 640, 480);        
}


// Entry point
int main(int argc, char *argv[])
{
    // Initialize SDL's subsystems - in this case, only video.
    if ( SDL_Init(SDL_INIT_VIDEO) < 0 )    
    {
        fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError());
        exit(1);
    }

    // Register SDL_Quit to be called at exit; makes sure things are
    // cleaned up when we quit.
    atexit(SDL_Quit);
        
    // Attempt to create a 640x480 window with 32bit pixels.
    screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
    
    // If we fail, return error.
    if ( screen == NULL )    
    {
        fprintf(stderr, "Unable to set 640x480 video: %s\n", SDL_GetError());
        exit(1);
    }

    // Main loop: loop forever.
    while (1)
    {
        // Render stuff
        render();

        // Poll for events, and handle the ones we care about.
        SDL_Event event;
        while (SDL_PollEvent(&event))    
        {
            switch (event.type)    
            {
            case SDL_KEYDOWN:
                break;
            case SDL_KEYUP:
                // If escape is pressed, return (and thus, quit)
                if (event.key.keysym.sym == SDLK_ESCAPE)
                    return 0;
                break;
            case SDL_QUIT:
                return(0);
            }
        }
    }
    return 0;
}

转载于:https://blog.51cto.com/scalpel00/247399

【SDL的编程】VC环境搭建相关推荐

  1. 物联网开发笔记(62)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:环境搭建

    一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程的第一步:环境搭建. 关键字:3.2寸SPI串口TFT液晶显示屏模块 IL ...

  2. 用Python在Minecraft(我的世界)中编程——开发环境搭建

    为了教十岁的儿子Python编程,我研究了下Minecraft中的编程,搭建环境是第一步,可惜网上的资料不是很多,特此记录下,以供有同样需求的家长们参考: 准备工作 安装Python,要2.7版本的, ...

  3. Win64 驱动内核编程-1.环境搭建

    驱动开发环境及其双机调试环境搭建 开发环境搭建 使用工具:vs2015,Windows 10 SDK_10.0.14393,WDK10.0.14393.0 (1)安装VS2015  随便一个版本吧,我 ...

  4. ARM汇编语言编程-Keil环境搭建及STM32程序的编写

    目录 一.keil环境搭建 1.keil安装 2.注册LIC 3.支持包安装 二.STM32程序 1.新建工程 2.配置环境 三.总结 一.keil环境搭建 推荐百度网盘下载mdk531 mdk31安 ...

  5. mysql跳过安全_【Python安全攻防过渡篇:web编程和环境搭建】

    web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...

  6. centos python_【Python安全攻防过渡篇:web编程和环境搭建】

    web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...

  7. SQLite VC环境搭建

    第一步:进入到SQLite的官网下载sqlite-amalgamation-3_7_2和sqlitedll-3_7_2这两个文件,我使用的版本是3.7的有兴趣的朋友可以将帮助文档下载下来,里面的内容很 ...

  8. GO 语言编程 windows 环境搭建

    参考 : http://blog.csdn.net/love_se/article/details/7754274 首先是安装Go,这里有很详细的安装说明,http://code.google.com ...

  9. 基础知识(一)matlab与c++混合编程之环境搭建

    Matlab 与c++混合编程方法 开发环境:win7 64位+vs2010+matlab 如果想要让matlab调用c++的函数类,则需要把c++编译成

最新文章

  1. 算法----左叶子之和
  2. Python Django 配置静态资源访问(settings配置)
  3. linux安装opencv让输入密码,linux下安装opencv的全过程(对初学者或者linux不熟悉的童鞋,非常适合)...
  4. javascript高级编程学习笔记(二)——继承
  5. 哪款浏览器好用_超级实用!让你效率倍增的6款浏览器插件
  6. iOS 算法的前世今生:算法原理、常用算法(二)加密算法
  7. python 对文件夹的相关操作
  8. realmex7pro能用鸿蒙系统吗,realmex7pro有nfc吗-realmex7pro支持红外遥控功能吗
  9. ubuntu安装Google输入法
  10. poi 默认2位小数_Poi excel设置小数位数
  11. 关于调制比、过调制、基波电压和母线电压的概念和关系总结
  12. 网络基础知识——交换机路由器
  13. 地理信息系统初学者入门基础篇(一)绪论
  14. 10步成为一个优秀的Java开发!
  15. 【CEGUI】概念简介
  16. “我把理财当副业,两个月赚了3W块!”
  17. 网络协议学习笔记 · 05
  18. LocalDate与Date相互转换
  19. js trim()方法兼容性IE8
  20. 《腾讯传》读后记 - 更应该学习的是腾讯对待产品的态度

热门文章

  1. 使用ffmpeg录音
  2. 通过iscsi配置在aix上挂载存储设备
  3. 关于PHP默认Expires: Thu, 19 Nov 1981...的故事
  4. Discuz!NT博客非官方升级!!
  5. Jquery1.6版本后attr的变化
  6. css中图片有缩放和转动效果
  7. Hadoop3.0 WordCount测试一直Accept 状态,Nodes of the cluster 页面node列表个数为0
  8. Java 打飞机(小游戏)[版权非本人 本人制作收藏整理]
  9. POJ 1986 Distance Queries(LCA)
  10. Ubuntu16.04 - 安装RabbitVCS,linux下的TortoiseSVN!!!