来自SDL教程的LNK2019错误,但仅在Visual Studio 2010中

时间:2012-09-26 07:46:40

标签: 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: 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年。我有什么遗漏吗?

3 个答案:

答案 0 :(得分:3)

这意味着链接器无法找到库。仔细检查

中的设置

Project -> Properties -> Configuration Properties -> Linker

  1. 指定目录:常规其他库目录<path>\SDL2-2.0.3\lib\x86

  2. 指定文件:输入其他相关性SDL2.lib;SDL2main.lib;

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

如果您无法在main()中包括可选的命令行参数,则在尝试编译包含SDL2的任何内容时都会出错,因此正确的解决方案是始终记住做Rafael said。 >

int main(int argc,char* argv[]){}

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