我一直在努力让 SDL2 在我的环境中工作,但没有成功。我正在使用 Windows 10 Home 和 MinGW,在 Eclipse IDE 中为 C/C++ 开发人员工作。
我从这个GitHub存储库下载了SDL2.26.4。
下载并解压文件后,我将 SDL2 include 和 lib 文件的内容复制到 C:\MinGW 中的 MinGW 文件夹中。
在我的 IDE 中,我添加了包含和库路径。
我还包含了其他解决方案建议的一些推荐链接器标志,但它们没有任何影响。
当我运行以下代码时:
#include <iostream>
#define SDL_MAIN_HANDLED
#include <SDL.h>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
...我遇到了错误:
C:\Users\User\eclipse-workspace\SDL2 test\Debug/../src/SDL2 test.cpp:12: multiple definition of `main'
C:\MinGW\lib/libmingw32.a(main.o):(.text.startup+0x0): first defined here
C:\MinGW\lib/libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
我试过重新创建我的项目,将我的包含和库文件夹放在不同的文件位置,禁止 SDL 重新定义我的“主要”功能的不同变体,但没有任何效果。