我正在尝试在 Windows 上使用 Eclipse Kepler 和 MinGW 创建一个 SDL2 项目。我已经在 C:\MinGW\lib 中的 MinGW (.a) 中添加了 SDL2 库,SDL2 包含在 MinGW(C:\MinGW\include\SDL2) 中,并且我还在项目属性中添加了 -> C/C++ 常规 -> 路径和符号 -> 按该顺序库以下行:
mingw32
SDL2main
SDL2
然后我将“-mwindows”放在 MinGW C++ 链接器中“命令行模式”行的末尾
我还为入口点添加了 -Dmain=SDL_main ...
但是编译器给了我错误:
main.cpp:7:对“SDL_CreateWindow”的未定义引用
这是代码:
#include <SDL2/SDL.h>
int main(int, char**)
{
SDL_Window *pWindow = nullptr;
pFenetre = SDL_CreateWindow("Test SDL 2.0", 0, 0, 320, 240, SDL_WINDOW_SHOWN);
if (!pWindow)
{
return -1;
}
SDL_DestroyWindow(pWindow);
return 0;
}
这是构建控制台:
信息:内部构建器用于构建 g++ "-LC:\\MinGW\\lib" -o Test.exe main.o -lmingw32 -lSDL2main -lSDL2 -mwindows main.o:在函数“SDL_main”中: C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:7: 未定义对“SDL_CreateWindow”的引用 C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:13:未定义对“SDL_DestroyWindow”的引用 C:\MinGW\lib/libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16' collect2.exe: erreur: ld a retourné 1 code d'état d'execution
怎么了 ?