C++ SDL教程中的LNK2019错误,但仅适用于Visual Studio 2010

C++ SDL教程中的LNK2019错误,但仅适用于Visual Studio 2010,c++,visual-studio-2010,sdl,C++,Visual Studio 2010,Sdl,我正在为VS2010做LazyFoo的SDLTutorial设置,我很难让它配合。奇怪的是,我可以让它在VS2008上正常工作 #include "SDL.h" int main(int argc, char* argv[]) { SDL_Init(SDL_INIT_EVERYTHING); SDL_Quit(); return 0; } 这是它给我的错误消息 1>MSVCRT.lib(crtexe.obj) : error LNK2019: unre

我正在为VS2010做LazyFoo的SDLTutorial设置,我很难让它配合。奇怪的是,我可以让它在VS2008上正常工作

#include "SDL.h"

int main(int argc, char* argv[])
{
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_Quit();

    return 0;    
}
这是它给我的错误消息

1>MSVCRT.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>Visual Studio 2008\Projects\Test\Debug\Test.exe : fatal error LNK1120: 1 unresolved externals

在这一点上,我已经一步一步地遵循这些步骤,至少4次了,并且我继续得到这些错误。如果我不能解决这个问题,我会考虑回到2008年,但我宁愿留在2010年。我缺少什么吗?

这意味着链接器找不到库。再次检查中的设置

Project->Properties->Configuration Properties->Linker

  • 指定目录:常规其他库目录
    \SDL2-2.0.3\lib\x86

  • 指定文件:输入其他依赖项
    SDL2.lib;SDL2main.lib


  • 这意味着链接器找不到库。再次检查中的设置

    Project->Properties->Configuration Properties->Linker

  • 指定目录:常规其他库目录
    \SDL2-2.0.3\lib\x86

  • 指定文件:输入其他依赖项
    SDL2.lib;SDL2main.lib


  • 如果你已经这样做了,你仍然会得到同样的错误。可能是您编写main时没有允许命令参数。应该是这样的

    int main(int argc,char* argv[]){ // your code here }
    

    如果你已经这样做了,你仍然会得到同样的错误。可能是您编写main时没有允许命令参数。应该是这样的

    int main(int argc,char* argv[]){ // your code here }
    

    如果未能在main()中包含可选的命令行参数,则在尝试编译任何包含SDL2的内容时都会出错,因此正确的解决方案是始终记住所做的操作


    如果您确信正确地包含了这些库,这将解决所有问题。

    如果未能在main()中包含可选的命令行参数,则在尝试编译任何包含SDL2的内容时都会出错,因此正确的解决方案是始终记住所做的操作


    如果您确定正确包含了这些库,则可以解决所有问题。

    同时检查项目设置。我敢肯定区别就在那里的某个地方。我将从链接器配置开始。并排检查项目设置。我敢肯定区别就在那里的某个地方。我从链接器的配置开始。好吧,这去掉了前两条消息,但现在它仍然给我最后一条消息。更改第一篇文章以反映这一点,因为最后一条错误消息在所有重拍中都是相同的。好吧,这去掉了前两条消息,但现在它仍然给我最后一条。更改第一篇文章以反映这一点,因为最后一条错误消息在所有重拍中都是相同的。