在开始之前,我知道堆栈上还有许多其他问题与我的相同。相信我,我已经检查了所有的对象,如果他们以任何形式帮助了我,我不会问这个问题。另外,我非常希望得到一个易于理解的答案,因为在查看其他问题时,我花了10分钟的时间才看清楚它们的含义。话虽如此,让我们解决我的问题。
我正在尝试使SDL与Visual Studio Code一起使用(不是Visual Studio。我的计算机没有足够的空间用于Visual Studio,或者我正在使用它。)我在task.json文件中试图将SDL2.lib库链接到我正在使用的文件main.cpp(我正在使用c ++)。我已经将SDL include和lib文件夹中的所有文件移到了我的mingw bin文件夹中。这是我的task.json文件:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command": "g++",
"args": [
"-g",
"-o",
"-c",
"C:/MinGW/bin/main.cpp",
"C:/MinGW/bin/SDL2.lib",
"-lmingw32"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [
"$gcc"
]
},
]
}
这是我的main.cpp文件:
#include "windows.h"
#include "SDL.h"
#include <iostream>
int main(int argc, char** argv) {
SDL_Init(SDL_INIT_EVERYTHING);
return 0;
}
我收到以下错误:
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
The terminal process terminated with exit code: 1
据我所知,此错误相当普遍,但我一直保持跟踪,并且在过去的两周中,我尝试了37种不同的方法来解决此问题(包括有关此问题的其他解决方案) 。我不知道问题出在哪里,但也许有人可以解决。我已经在其他四个论坛上发布了此消息,但没有任何回复,我很失落。现在真的很难热心,但是请提前回应并谢谢!!
答案 0 :(得分:1)