Mingw下安装 SDL的问题

   创建完开发环境之后,就要作一些测试,看看本身的环境是否工做正常。
下边就开始吧。
   打开eclipse,新建工程php

而后是windows


而后,直接点击“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 -lSDLless

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


你们看看,红色标记区域有错吗?ide


没有啊,所有符合语法规范呀。也引入了SDL.h头文件呀。并且eclipse能够认出SDL_init函数呀。函数


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



居然好了,经过了,这个问题浪费了近两个小时时间,老是摸不清头脑。ui


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


好了,祝你们开心,也祝我开心,顺利的进行下去!!!blog

相关文章
相关标签/搜索