SDL 在windowns下安装
来源:互联网 发布:java判断白天晚上 编辑:程序博客网 时间:2024/05/16 01:06
非常不错的SDL教程。
http://lazyfoo.net/SDL_tutorials/index.php
一.Window下SDL环境安装
-----------------------------------------------------------------
在Windows 下可以用多种开发环境来安装。具体方法参见
http://lazyfoo.net/SDL_tutorials/lesson01/windows/index.php
但一般我比较习惯于使用VC++6.0来开发SDL程序,以下介绍在VC++安装和使用库.
首先下载编译好的SDL开发库.(当然你可以自己行编译库,一般不推荐)
http://www.libsdl.org/release/SDL-devel-1.2.14-VC6.zip
1.下载后解压到指定目录,假设是 e:\huisen\SDL下,把解压的头文件路径include拷贝一份改名为SDL(理由后面解释)
2.把lib/SDL.dll 拷贝到 windows\system32 ,以便程序运行能找到它运行。
配置VC++ 6.0。
在程序中使用SDL库,有两种模式,一种是在每个项目里加上SDL库的路径,另外一种更为简单好用的办法,是把SDL设为所有项目共享的库。方法在主菜单 tools-->options 选择directories页标签。
首先是头文件目当设为SDL库目录下的include目录,这样程序中直接可以使用头文件,在这里有一个细节,
一般SDL有头文件直接在include下面,但是LINUX版或一般的SDL程序是引用 #include <SDL/SDL.h>
这里把include 设为引用目录,会将成头文件找不到。所以建议把include目录拷贝改成SDL,方便移植的程序可以找到头文件.将SDL目录本身设为include如下设置
设SDL的lib路径为整个环境的库路径
测试SDL游戏
我们用一个简单的DEMO来演示整个SDL环境使用
1.在VC++ 6.0中建立一个console项目,把hello.c加和到项目中。
2.在项目中加入对SDL的库的链接。(SDL.lib和SDLmain.lib) 如果是调试版,要忽略链接msvcrt.lib
3.要求采用DLL多线程库来作运行库。(这是SDL FAQ的要求,否则有链接错误)
在项目选项,c/C++-->Code Generation-->Using Runtime library选择
Debug MultiThread DLL(DEBUG版)或者 MultiThread DLL(Release版)
4.删除编译选项中的/GZ (编译器堆栈检查功能).这个主要是为了去掉如下链接错误
error LNK2001: unresolved external symbol __chkesp
(参见上图)
运行测试程序,会有如下效果.
注意后面有一个控制台出现,所有printf将输出到终端上来。如果不需要显示控制台。
可以把链接选项里的 /subsystem:console 改为 /subsystem:windows 即可
二.Linux的SDL开发环境安装
-----------------------------------------------------------------
Linux 首先需要安装SDL库和SDL开发库。安装方式有两种,一种是编译后安装(这个方法出问题可能性最小,建议用这个方法)
另外一种是用rpm包来安装库和开发包。
第一种方法编译安装首先下载
http://www.libsdl.org/release/SDL-1.2.14.tar.gz
简单的解压缩
tar xvzf SDL-1.2.14.tar.gz
然后
./configure
make
make install.
它将安装库到 /usr/local/lib ,头文件在/usr/local/include当中。
测试hello程序
gcc -o hello hello.c -lSDL #编译语句
执行程序 export LD_LIBRARY_PATH=/usr/local/lib;./hello
如果正确无误将会显示如下界面
三.SDL编程基本流程.
----------------------------------------------------------------
SDL开发使用相关数据结构,必须在源码中使用 #include <SDL/SDL.h>
在Linux链接时,必须要链接libSDL.so库。 即在gcc语句加入 -lSDL 选项.
Windows下在VC界面的项目选项的链接库,加入 SDL.lib链接语句。
SDL由八个子系统组成——音频、CDROM、事件处理、文件I/O、游戏杆、线程、记时器和视频,
在使用SDL库时,在程序开源要调用
SDL_Init()来初始化,它有如下定义:
int SDL_Init(Uint32 flags);
其中flags指明是哪一个子系统在初始化装入。一般用 SDL_INIT_EVERYTHING,表示所有模块装入.
实始化成功返回为0,失败返回-1;
如想初始化特定模块,可用特殊选项。如下列语句用于实始化视频与定时器模块
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
当SDL程序即出时,须调用SDL_Quit();来做一些清除工作。
基本框架代码
#include <SDL/SDL.h>
int main()
{
if((SDL_Init(SDL_INIT_EVERYTHING)==-1)) {
printf("Could not initialize SDL: %s.\n", SDL_GetError());
return -1;
}
printf("hello ,the SDL world\n");
/* Shutdown all subsystems */
SDL_Quit();
}
- SDL 在windowns下安装
- 在windowns下安装Anaconda3运行spark
- 在Windowns环境安装Maven
- windowns下进行Python的安装
- Windowns、Ubuntu17.10 下安装 MongoDB
- Ubuntu下安装SDL
- Ubuntu下安装SDL
- ubuntu下安装SDL
- linux下安装SDL
- lubuntu下安装SDL
- ubuntu下SDL安装
- windowns下qt5.2.0(mingw)安装glut(opengl)工具包
- windowns下解压缩安装mysql-5.7.11-winx64
- windowns下vim离线安装插件及介绍
- 在windowns xp上安装和配置BIND dns服务器
- Windowns redis安装测试
- windowns安装mysql.zip
- windowns安装git客户端
- 网络字节序与主机字节序
- MPLS hub and spoke 实验问题
- Can't connect to MySQL server on 'localhost' 解决
- Ubuntu13.10安装SCIM和谷歌拼音输入法
- plsql字符集
- SDL 在windowns下安装
- uTorrent 2.2.1 高级参数设置详解及优化(转载)
- 对两个时间求差值,以及计算时间段内周六、周日的天数
- opencapwap, hostapd, FreeRADIUS
- C语言变量名和地址的关系探讨
- Linux新手需要掌握的20条基础命令
- DEDE出现“Upload filetype not allow”的原因及解决
- VC6到VS2008的变化
- Oracle 的游标