控制台应用程序中未解析的外部 _main

Unresolved External _main in a console application

我有以下主要功能:

int main(int argv, char** argc) {
MainGame mainGame;
mainGame.run();

system("pause");
return 0;
}

它向我抛出一个 LNK2019 未解决的_main。

现在我做了一些 google-ing 并发现了无数的例子,人们不小心设置了 win32 应用程序而不是预期的控制台应用程序,所以我在链接器->系统->子系统中检查了我的,它阅读控制台。

在使用 SDL 时遇到了类似的问题。我在 #include "SDL.h" 之后添加了 #undef main,因为 main 是在 SDL 内部定义的,用于其他目的(正如 DimChtz 在评论中指出的那样)。它解决了问题。

顺便说一下,这不一定是特定于 SDL 的。您的项目中其他一些包含的头文件或源文件也可能是#define-ing "main",这将触发此行为。