使用Dev-Cpp/MinGW来生成wxWidget SDL是一组包含若干媒体操作的工具库
来源:互联网 发布:虚拟社交我网络的好处 编辑:程序博客网 时间:2024/05/21 11:20
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 SDL是一组包含若干媒体操作的工具库
- MinGW编译wxWidget静态库的问题
- DEV-CPP中生成和使用DLL的方法
- DEV-CPP中生成和使用DLL的方法
- Dev CPP + SDL 游戏开发入门
- windows环境下eclipse for cpp +sdl+boost+mingw环境的搭建
- 使用Dev-Cpp编译Boost库
- dev-cpp使用教程
- 开发环境(mingw,gtk2.0,sdl,dev-c++)
- 用dumpcpp工具生成的excel.h/excel.cpp来操纵Excel
- CodeIgniter(1)简单入门---使用mvc来完成对新闻的一组操作----增删改查
- 一组排序矩阵相关操作,数据结构使用的是多维链表
- Windows下使用MinGW编译生成的PBC库
- bo2-32.cpp 一个数组可生成若干静态链表(数据结构由c2-3.h定义)的基本操作(12个)
- Dev-Cpp/Mingw32环境下使用静态连接库和做自己的静态库
- 搭建CodeBlock + wxWidget + MinGW环境
- DEV-CPP --一个c++编译工具
- SDL在dev-c++的配置记录
- 网管监控软件Hyperic HQ对DB2数据库的监控和管理
- iis7应用程序不能访问的问题
- js调用js
- JS的Document属性和方法
- java逐行读取txt文本中文乱码解决方案
- 使用Dev-Cpp/MinGW来生成wxWidget SDL是一组包含若干媒体操作的工具库
- Linux内核内存分配函数
- 在VBA中设置单元格的对齐方式
- 记录打印一个椭圆的有趣过程
- java中list数据拆分为sublist实现分页的简单代码
- sql server2012 远程访问设置
- Windows忘记mysql密码的解决方案
- MKMapView
- 新建android项目gen目录下未生成R文件解决方案