我试图在Windows上使用Eclipse Kepler和MinGW创建SDL2项目。 我已经在MinGW(.a)中的C:\ MinGW \ lib中添加了SDL2库,SDL2包含在MinGW(C:\ MinGW \ include \ SDL2)中,并且我还在项目属性中添加了 - > C/C++ general - >路径和符号 - > librairies依次下列行:在Windows上使用Eclipse和MinGW设置SDL2
的mingw32
SDL2main
SDL2
然后我在MinGW的C++接头把 '-mwindows' 在该行的 “命令线图案”
的端部我还为入口点添加了-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;
}
这是构建控制台:
Info: Internal Builder is used for build g++ "-LC:\\MinGW\\lib" -o Test.exe main.o -lmingw32 -lSDL2main -lSDL2 -mwindows main.o: In function `SDL_main': C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:7: undefined reference to `SDL_CreateWindow' C:\Users\olivi_000\workspace\Test\Debug/../main.cpp:13: undefined reference to `SDL_DestroyWindow' C:\MinGW\lib/libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `[email protected]' collect2.exe: erreur: ld a retourné 1 code d'état d'exécution
有什么不对?
问题是,链接器找不到'SDL_CreateWindow'函数,这可能意味着从eclipse传递给gcc的选项是错误的。如果显示eclipse调用的实际构建命令,可以给出更多细节。 – greatwolf
嗨,我编辑我的帖子,以显示实际的构建命令 – Oliveira
您正在构建一个可执行文件,因此'-shared'不应该在链接过程中。 – greatwolf