提问人:Jujimufoo 提问时间:4/1/2023 最后编辑:genpfaultJujimufoo 更新时间:4/1/2023 访问量:54
在环境中添加 SDL2 库时C++“undefined reference to 'WinMain@16'” [duplicate]
"undefined reference to 'WinMain@16'" when adding SDL2 libraries in C++ environment [duplicate]
问:
我一直在尝试让 SDL2 在我的环境中工作,但没有运气。我正在使用带有 MinGW 的 Windows 10 家庭版,在 Eclipse IDE 中为 C/C++ 开发人员工作。
我从这个 GitHub 存储库下载了 SDL2.26.4。
下载并解压缩文件后,我将 SDL2 include 和 lib 文件的内容复制到 C:\MinGW 中的 MinGW 文件夹中。
在我的 IDE 中,我添加了 include 和 library 路径。
我还包含了一些从其他解决方案中建议的链接器标志,但它们没有产生任何影响。
当我运行以下代码时:
#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 重新定义我的“main”功能的不同变体,但没有任何效果。
答: 暂无答案
评论
SDL_MAIN_HANDLED