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

相關文章
相關標籤/搜索