2011-02-04 58 views
1

我想在使用MinGW和eclipse的windows上構建一個項目。 我使用SDL庫,但是當我嘗試complie它,我得到的錯誤未定義引用'SDL_main'

g++ -Wl,-subsystem,windows -oplikoo.exe src\mouse.o src\camera.o src\Timer.o src\Pegs.o src\Graphics.o src\FPS.o src\Ball.o -lmingw32 -lSDLmain -lSDL.dll -lSDL_image -lSDL_mixer 
c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../libSDLmain.a(SDL_win32_main.o): In function `console_main': 
/Users/hercules/trunk/SDL-1.2/./src/main/win32/SDL_win32_main.c:315: undefined reference to `SDL_main' 

據我瞭解,主要有有int main(int argc, char *argv[])簽名,並在該文件#include <SDL.h>,但它仍然無法正常工作。

回答

2

main.cpp中沒有將src目錄,而不是被編譯

2

掃描在你的編譯行那裏,我注意到你正在試圖與直接「SDL.dll」鏈接。這不是你想要的。你應該鏈接到libSDL.la(假設你正在使用mingw)。

此外,我不知道這是否會影響這裏任何東西,但我聽說你是「應該」鏈接「SDL」最後。

+0

我一直直接與SDL或SDL.dll鏈接,直到最後,它只需要在SDLmain之前是mingw32,而在SDLmain之前是SDL – loosecannon 2011-02-06 06:59:17

5

這只是發生在我身上。當我開始定義主與ARGS參數:

int main(int argc, char* args[]) 

編譯器錯誤文遠。

+1

但是他說他已經嘗試過......並且已經回答了這個問題。 – 2013-07-23 22:44:50