未定义的对“SDL_main”的引用

时间:2011-02-04 00:26:16

标签: windows eclipse sdl mingw32

我正在尝试使用MinGW和eclipse在Windows上构建项目。 我正在使用SDL库但是当我尝试编译它时,我收到错误

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'

我知道main必须在该文件中包含int main(int argc, char *argv[])签名和#include <SDL.h>,但它仍然无效。

3 个答案:

答案 0 :(得分:5)

这恰好发生在我身上。当我开始使用args参数定义main时:

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

编译器错误消失了。

答案 1 :(得分:2)

main.cpp不在src目录中,没有编译

答案 2 :(得分:2)

在那里扫描你的编译行,我注意到你正试图直接链接“SDL.dll”。那不是你想要的。您应该链接到libSDL.la(假设您实际上正在使用mingw)。

此外,我不确定这是否会影响到这里,但我听说你“应该”最后链接到“SDL”。