建立完开发环境以后,就要做一些测试,看看自己的环境是否工作正常。
下边就开始吧。
   打开eclipse,新建工程

然后是


然后,直接点击“Finish”。然后是

至此,还要进行一些特别的设置,能够让工程识别SDL开发包
具体参照一下网址: http://lazyfoo.net/SDL_tutorials/lesson01/windows/eclipse/index.php
关键就是,-lmingw32,-lSDLmain,-lSDL库的引入。
例如:-lSDL意思就是在连接的时候,编译器要把开发环境下的/lib/libSDL.a函数库编译进去。在本文中libSDL.a在../mingw/lib/libSDL.a

这个设置的完了以后,编译的时候控制台会出这样的消息:
-----------------------------------------------------------------------------------------------------------------------------

**** Build of configuration Debug for project helloworld ****

**** Internal Builder is used for build               ****
g++ -O0 -g3 -Wall -c -fmessage-length=0 -osrc\helloworld.o ..\src\helloworld.cpp
g++ -ohelloworld.exe src\helloworld.o -lmingw32 -lSDLmain -lSDL
D:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libSDLmain.a(SDL_win32_main.o): In function `console_main':
/Users/hercules/trunk/SDL-1.2/./src/main/win32/SDL_win32_main.c:246: undefined reference to `SDL_main'
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 1906 ms.
--------------------------------------------------------------------------------------------------------------------------------


等等,怎么会有错呢?那就要查一查了。
首先确认,引入函数库了没有。
g++ -ohelloworld.exe src\helloworld.o -lmingw32 -lSDLmain -lSDL

注意:这三个库的链入的顺序不能变
这句话表明基本的函数库确实引入了。
其次,看看代码,那就把代码贴出来吧,如下:


大家看看,红色标记区域有错吗?


没有啊,全部符合语法规范呀。也引入了SDL.h头文件呀。而且eclipse可以认出SDL_init函数呀。


怎么回事呢。本人就是在这一点被卡住了,在网上寻找了,好长时间,就是没有找到解决的方法。最后突然想起,是不是main函数参数的问题?因为前几天好像在哪里看到过SDL得程序main函数参数不能省去。于是,就加入尝试一下,并且编译尝试。修改后的代码如下:



竟然好了,通过了,这个问题浪费了近两个小时时间,总是摸不清头脑。


至此,第一个基于SDL得程序就成功了.赫赫,算是小有收获吧。


好了,祝大家开心,也祝我开心,顺利的进行下去!!!