使用Dev-Cpp/MinGW来生成wxWidget SDL是一组包含若干媒体操作的工具库
2012-11-23 09:57
351 查看
http://www.cnblogs.com/wei350520/articles/1485880.html
上文回顾:
在上一文中,我向各位介绍了如何使用Dev-Cpp/MinGW来生成wxWidget。我想你们一定是早已经把这个wxWidget做成工程文件了。有关工程文件的***,请看第十一章。
前一阶段比较忙,所以对于MinGW介绍的更新几乎是停止了(我在研究一些操作系统的写法)。再加上我对于现在文章的发展方向很迷茫,所以也想不出再介绍一些什么。所以也就没有写。如果各位有什么建议,我希望能看到你们提出来。
第十五章 SDL的下载和安装
对于在Win32下的用户一定会对SDL很陌生,因为你们从来没有听说过。不过对于Linux下的用户就不同了,因为Linux下的跨平台游戏开发工具就是SDL。不过,我这里介绍SDL并不是主张游戏,而已介绍一下MinGW的游戏开发环境。当然,SDL除了开发游戏还有很多其他的用途,我希望你们能善用她。其实,在Win32下的游戏开发不一定只有DirectX。SDL也是非常强大的。当然如果你用的是MS-C,那么你的SDL就是建立在DirectX上了。不过,她的稳定性我可不能保证。因为SDL的官方网站认为,MinGW的这种编译是安全版本……
SDL是一组包含若干媒体操作的工具库。个人觉得非常不错。你可以从网上免费获得她。你可以从她的官方网站 http://www.libsdl.org/ ,或者我常去的 http://www.sf.net/ 上找到她。如果你想在MinGW下***SDL的程序,那么你必须下载 SDL-devel-1.2.8-mingw32.tar.gz 虽然体积大了点,但是物有所值。不过,如果你只是想运行几个SDL的软件,那么下载一个运行库就可以了,体积小巧。
当你下载完成后,你已经成功的三分之一了。下面我就要教你如何安装和设置这个SDL了。
打开你的压缩包,将里面的文件复制到一个新建的目录中,我现在假设这个目录是 (SDL_PATH)。当然,如果你的计算机上没有解压缩的工具,那么你可以从 http://www.sf.net/ 上下载GNUWin32中的解压缩工具,tar,gzip。如果你想偷懒,那么可以直接将要所包里的东西直接复制到Dev-Cpp或者MinGW的目录中。并跳过对编译器的设置。
现在我来说一下文件夹中文件的作用。
test/ 目录中的文件都是一些测试文件,你可以用她来测试你的SDL是否安装成功。所以,你可以在安装设置完成后删掉她,如果你愿意的话。
lib/ 目录中的文件是一些库文件,你在开发中必须要使用到他们,所以千万别删。
include/ 目录中是头文件,和lib/中的文件一样重要
docs/ 中的文件是SDL的教程,你可以从中学会如何操作SDL。虽然是英文的,但是还是写的不错的,基本不需要很好的英文基础就可以读懂。
bin/ 中的文件是SDL程序的运行库,在开发中不需要,但是在运行时就有大用处了。
接下来,我们为Dev-Cpp设置一下环境变量。在你的工程中将 (SDL_PATH)/lib 添加入你的库路径中。将 (SDL_PATH)/include/SDL 添加入你的头文件路径中。这些我都在前面介绍过了。如果你是MinGW的话,记得在编译的时候添加哦。
对于项目,我们除了添加路径,还要为程序链接提供库。具体的参数如下。
-lSDL -lSDL.dll -lSDLmain
上面是在你链接的时候,让ld从 libSDL.a libSDL.dll.a libSDLmain.a 中抽取函数。
一切,都设置好了,我们就来编译一个例子看看。
现在,我们就用test中的一个文件来作测试吧。为了方便各位的理解,我这里就直接使用MinGW了,跳过Dev-Cpp的操作,因为对IDE的操作确实很难说清楚,有时候一大段的内容只说清楚了一个很简单的内容。
我们从test目录中将文件 testwin.c sample.bmp复制到你的工作目录下(我通常会用一个WorkHome来放一些写的程序,这样不会东一个西一个了)。
在编译前,我们先要对testwin.c做一些小小的修改,用Dev-Cpp打开testwin.c。当然记事本也可以。将开头那段中,#include "SDL.h" 改成 #include <SDL.h>。然后保存退出(下面我们将不用Dev-Cpp)了。
然后我们写一个MakeFile.txt的文件,用来生成SDL程序。
#MakeFile.txt
all:
gcc -I"(SDL_PATH)/include/SDL" -c testwin.c -o testwin.o
gcc -L"(SDL_PATH)/lib" -mwindows -lmingw32 -lSDLmain -lSDL -lSDL.dll -o testwin.exe testwin.o
#MakeFile.txt End
最后我们使用命令提示符,在 testwin.c sample.bmp MakeFlie.txt 所在的目录下输入如下命令(但是首先你的系统必须做第一章那样的设置)。
make -f makefile.txt
如果没有任何问题你就得到了个名为testwin.exe的程序。
当然,现在你还不能运行她。因为你没有SDL.dll。你现在可以从bin目录中将SDL.dll复制到testwin.exe所在的目录中去了。现在可以运行了。当然,在你运行的目录中会出现两个文件。stdout.txt和stderr.txt。这两个是输出文件。
你现在可以对test中的一些例子进行编译了。当然,还是要对源码做一些小修改。如果你觉得你以后会经常使用她,那么你就可以将她做成工程文件,便于以后生成。
好了,直到现在,你对SDL的认识也就成功了三分之二,为什么是三分之二呢?因为还有三分之一的成功路程是你自己在对SDL的了解时走出来的。我不喜欢什么都手把手的教,什么都手把手的学。只有自己学会了,才是真正属于自己的。别人告诉你的那还是别人的。不过我还是很乐意解答你在学习使用中遇到的问题的。
上文回顾:
在上一文中,我向各位介绍了如何使用Dev-Cpp/MinGW来生成wxWidget。我想你们一定是早已经把这个wxWidget做成工程文件了。有关工程文件的***,请看第十一章。
前一阶段比较忙,所以对于MinGW介绍的更新几乎是停止了(我在研究一些操作系统的写法)。再加上我对于现在文章的发展方向很迷茫,所以也想不出再介绍一些什么。所以也就没有写。如果各位有什么建议,我希望能看到你们提出来。
第十五章 SDL的下载和安装
对于在Win32下的用户一定会对SDL很陌生,因为你们从来没有听说过。不过对于Linux下的用户就不同了,因为Linux下的跨平台游戏开发工具就是SDL。不过,我这里介绍SDL并不是主张游戏,而已介绍一下MinGW的游戏开发环境。当然,SDL除了开发游戏还有很多其他的用途,我希望你们能善用她。其实,在Win32下的游戏开发不一定只有DirectX。SDL也是非常强大的。当然如果你用的是MS-C,那么你的SDL就是建立在DirectX上了。不过,她的稳定性我可不能保证。因为SDL的官方网站认为,MinGW的这种编译是安全版本……
SDL是一组包含若干媒体操作的工具库。个人觉得非常不错。你可以从网上免费获得她。你可以从她的官方网站 http://www.libsdl.org/ ,或者我常去的 http://www.sf.net/ 上找到她。如果你想在MinGW下***SDL的程序,那么你必须下载 SDL-devel-1.2.8-mingw32.tar.gz 虽然体积大了点,但是物有所值。不过,如果你只是想运行几个SDL的软件,那么下载一个运行库就可以了,体积小巧。
当你下载完成后,你已经成功的三分之一了。下面我就要教你如何安装和设置这个SDL了。
打开你的压缩包,将里面的文件复制到一个新建的目录中,我现在假设这个目录是 (SDL_PATH)。当然,如果你的计算机上没有解压缩的工具,那么你可以从 http://www.sf.net/ 上下载GNUWin32中的解压缩工具,tar,gzip。如果你想偷懒,那么可以直接将要所包里的东西直接复制到Dev-Cpp或者MinGW的目录中。并跳过对编译器的设置。
现在我来说一下文件夹中文件的作用。
test/ 目录中的文件都是一些测试文件,你可以用她来测试你的SDL是否安装成功。所以,你可以在安装设置完成后删掉她,如果你愿意的话。
lib/ 目录中的文件是一些库文件,你在开发中必须要使用到他们,所以千万别删。
include/ 目录中是头文件,和lib/中的文件一样重要
docs/ 中的文件是SDL的教程,你可以从中学会如何操作SDL。虽然是英文的,但是还是写的不错的,基本不需要很好的英文基础就可以读懂。
bin/ 中的文件是SDL程序的运行库,在开发中不需要,但是在运行时就有大用处了。
接下来,我们为Dev-Cpp设置一下环境变量。在你的工程中将 (SDL_PATH)/lib 添加入你的库路径中。将 (SDL_PATH)/include/SDL 添加入你的头文件路径中。这些我都在前面介绍过了。如果你是MinGW的话,记得在编译的时候添加哦。
对于项目,我们除了添加路径,还要为程序链接提供库。具体的参数如下。
-lSDL -lSDL.dll -lSDLmain
上面是在你链接的时候,让ld从 libSDL.a libSDL.dll.a libSDLmain.a 中抽取函数。
一切,都设置好了,我们就来编译一个例子看看。
现在,我们就用test中的一个文件来作测试吧。为了方便各位的理解,我这里就直接使用MinGW了,跳过Dev-Cpp的操作,因为对IDE的操作确实很难说清楚,有时候一大段的内容只说清楚了一个很简单的内容。
我们从test目录中将文件 testwin.c sample.bmp复制到你的工作目录下(我通常会用一个WorkHome来放一些写的程序,这样不会东一个西一个了)。
在编译前,我们先要对testwin.c做一些小小的修改,用Dev-Cpp打开testwin.c。当然记事本也可以。将开头那段中,#include "SDL.h" 改成 #include <SDL.h>。然后保存退出(下面我们将不用Dev-Cpp)了。
然后我们写一个MakeFile.txt的文件,用来生成SDL程序。
#MakeFile.txt
all:
gcc -I"(SDL_PATH)/include/SDL" -c testwin.c -o testwin.o
gcc -L"(SDL_PATH)/lib" -mwindows -lmingw32 -lSDLmain -lSDL -lSDL.dll -o testwin.exe testwin.o
#MakeFile.txt End
最后我们使用命令提示符,在 testwin.c sample.bmp MakeFlie.txt 所在的目录下输入如下命令(但是首先你的系统必须做第一章那样的设置)。
make -f makefile.txt
如果没有任何问题你就得到了个名为testwin.exe的程序。
当然,现在你还不能运行她。因为你没有SDL.dll。你现在可以从bin目录中将SDL.dll复制到testwin.exe所在的目录中去了。现在可以运行了。当然,在你运行的目录中会出现两个文件。stdout.txt和stderr.txt。这两个是输出文件。
你现在可以对test中的一些例子进行编译了。当然,还是要对源码做一些小修改。如果你觉得你以后会经常使用她,那么你就可以将她做成工程文件,便于以后生成。
好了,直到现在,你对SDL的认识也就成功了三分之二,为什么是三分之二呢?因为还有三分之一的成功路程是你自己在对SDL的了解时走出来的。我不喜欢什么都手把手的教,什么都手把手的学。只有自己学会了,才是真正属于自己的。别人告诉你的那还是别人的。不过我还是很乐意解答你在学习使用中遇到的问题的。
相关文章推荐
- bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个)
- Mac OS环境下媒体文件分割工具mediafilesegmenter的简单使用(生成M3U8 TS文件)
- 发布一个.Net轻型的ORM框架(包含自动生成工具),欢迎使用
- DEV-CPP中生成和使用DLL的方法
- Asp.net Webform 使用Repository模式实现CRUD操作代码生成工具
- CentOS压力测试工具Tsung安装、使用和图形报表生成
- .NET----使用母版页后,控件名称自动生成导致js无法正常操作.net控件的问题
- 有一字符串,包含数字与字母,编程去除数字。要求:1要求在原字符串中操作 2、使用指针处理
- 数据库逆向框架代码生成工具:MyBatis Generator的使用
- android使用jre自带工具生成证书
- VS代码生成工具ReSharper使用手册:代码检查
- Red Gate系列之八 SQL Connect 1.1.1.19 Edition 数据库连接及操作工具 完全破解+使用教程
- 使用Objective-C的文档生成工具:appledoc
- 位图字体生成工具Bitmap Font Generator的使用
- C# 利用自带xsd.exe工具操作XML-如通过XML生成xsd文件
- 使用 xsd.exe 命令工具 将 xsd架构 生成 类文件
- PHP如何批量生成手机号-使用PHP 如何生成一组不重复的手机号码?
- 使用 xsd 工具从 RDL 架构生成类
- VS代码生成工具ReSharper使用手册:颜色高亮
- 使用xig工具从schema生成schema实例