首页 文章

C SDL2 - 难以理解的链接错误

提问于
浏览
1

我在C CDT Eclipse下设置了SDL2 . 我添加了包含路径“........ SDL2-2.0.3 \ i686-w64-mingw32 \ include”,库路径“........ SDL2-2.0.3 \ i686-w64 -mingw32 \ lib“并添加了库1.”mingw32“2.”SDL2main“3 . ”SDL2“ . 所以现在,如果我添加一个带有此内容的main.cpp:

#include <SDL.h>

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

    return 0;
}

我可以很好地构建项目,但是如果我使用它:

#include <SDL.h>

int main()
{

    return 0;
}

项目无法构建,我收到此错误:

信息:内部构建器用于构建g“-IO:\ Eclipse CDT工作区\ SDL OpenGL Lab \ Libraries \ SDL2 \ include \ SDL2”-O0 -g3 -Wall -c -fmessage-length = 0 -o main.o “.. \ main.cpp”g“-LO:\ Eclipse CDT Workspace \ SDL OpenGL Lab \ Libraries \ SDL2 \ lib”-o“SDL OpenGL Lab.exe”main.o -lmingw32 -lSDL2main -lSDL2 O:\ Eclipse CDT工作区\ SDL OpenGL Lab \ Libraries \ SDL2 \ lib / libSDL2main.a(SDL_windows_main.o):在函数console_main'中:/Users/slouken/release/SDL/SDL2-2.0.3-source/foo-x86/ .. /src/main/windows/SDL_windows_main.c:140:未定义引用到SDL_main'cols2.exe:错误:ld返回1退出状态

我只是想知道为什么这个错误取决于我的主要方法,我想使用我想要的主要方法 . 为什么会这样,我怎么解决这个问题?

1 回答

  • 2

    对不起,你被困住了 . 我也更喜欢更简单的主,但SDL不支持它 .

    在这里's a little more on SDL and main in the Windows world. It doesn' t说出你为什么需要他们的主版本 - 但你做到了 .

    我得到“未定义的引用'SDL_main'”...确保将main()声明为:#include“SDL.h”int main(int argc,char * argv [])

    https://wiki.libsdl.org/FAQWindows

相关问题