【SDL的编程】VC环境搭建
SDL(simple DirectMedia Layer)是一个可跨平台的开源库,最近由于自己的兴趣,就把它windosXP下的环境搭建了下。PC:Mircrosoft Windows XP Service Pack3Platform:Mircrosoft Visual C++ 6.0SourceCode: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.lib6. 在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环境搭建相关推荐
- 物联网开发笔记(62)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:环境搭建
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程的第一步:环境搭建. 关键字:3.2寸SPI串口TFT液晶显示屏模块 IL ...
- 用Python在Minecraft(我的世界)中编程——开发环境搭建
为了教十岁的儿子Python编程,我研究了下Minecraft中的编程,搭建环境是第一步,可惜网上的资料不是很多,特此记录下,以供有同样需求的家长们参考: 准备工作 安装Python,要2.7版本的, ...
- Win64 驱动内核编程-1.环境搭建
驱动开发环境及其双机调试环境搭建 开发环境搭建 使用工具:vs2015,Windows 10 SDK_10.0.14393,WDK10.0.14393.0 (1)安装VS2015 随便一个版本吧,我 ...
- ARM汇编语言编程-Keil环境搭建及STM32程序的编写
目录 一.keil环境搭建 1.keil安装 2.注册LIC 3.支持包安装 二.STM32程序 1.新建工程 2.配置环境 三.总结 一.keil环境搭建 推荐百度网盘下载mdk531 mdk31安 ...
- mysql跳过安全_【Python安全攻防过渡篇:web编程和环境搭建】
web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...
- centos python_【Python安全攻防过渡篇:web编程和环境搭建】
web编程 web编程不是说用python做web开发,而是用python与web交互.常用的模块有urlib,urlib2,这是python内置的模块. 同时,还有基于urlib的第三方库,比如re ...
- SQLite VC环境搭建
第一步:进入到SQLite的官网下载sqlite-amalgamation-3_7_2和sqlitedll-3_7_2这两个文件,我使用的版本是3.7的有兴趣的朋友可以将帮助文档下载下来,里面的内容很 ...
- GO 语言编程 windows 环境搭建
参考 : http://blog.csdn.net/love_se/article/details/7754274 首先是安装Go,这里有很详细的安装说明,http://code.google.com ...
- 基础知识(一)matlab与c++混合编程之环境搭建
Matlab 与c++混合编程方法 开发环境:win7 64位+vs2010+matlab 如果想要让matlab调用c++的函数类,则需要把c++编译成
最新文章
- 算法----左叶子之和
- Python Django 配置静态资源访问(settings配置)
- linux安装opencv让输入密码,linux下安装opencv的全过程(对初学者或者linux不熟悉的童鞋,非常适合)...
- javascript高级编程学习笔记(二)——继承
- 哪款浏览器好用_超级实用!让你效率倍增的6款浏览器插件
- iOS 算法的前世今生:算法原理、常用算法(二)加密算法
- python 对文件夹的相关操作
- realmex7pro能用鸿蒙系统吗,realmex7pro有nfc吗-realmex7pro支持红外遥控功能吗
- ubuntu安装Google输入法
- poi 默认2位小数_Poi excel设置小数位数
- 关于调制比、过调制、基波电压和母线电压的概念和关系总结
- 网络基础知识——交换机路由器
- 地理信息系统初学者入门基础篇(一)绪论
- 10步成为一个优秀的Java开发!
- 【CEGUI】概念简介
- “我把理财当副业,两个月赚了3W块!”
- 网络协议学习笔记 · 05
- LocalDate与Date相互转换
- js trim()方法兼容性IE8
- 《腾讯传》读后记 - 更应该学习的是腾讯对待产品的态度
热门文章
- 使用ffmpeg录音
- 通过iscsi配置在aix上挂载存储设备
- 关于PHP默认Expires: Thu, 19 Nov 1981...的故事
- Discuz!NT博客非官方升级!!
- Jquery1.6版本后attr的变化
- css中图片有缩放和转动效果
- Hadoop3.0 WordCount测试一直Accept 状态,Nodes of the cluster 页面node列表个数为0
- Java 打飞机(小游戏)[版权非本人 本人制作收藏整理]
- POJ 1986 Distance Queries(LCA)
- Ubuntu16.04 - 安装RabbitVCS,linux下的TortoiseSVN!!!