OpenGL SDL LINK错误MSVCRT.lib

时间:2014-07-10 23:08:56

标签: c++ opengl dll visual-studio-2013

尝试使用SDL,glew和glm在Windows 7上的visual studio 2013中设置OpenGL环境。是的,我已正确链接和排序所有标头和dll,我有.exe的SDL2.dll和glew32.dll。我的链接器输入包括opengl32.lib。运行时库设置为“多线程DLL”。

/*main.cpp*/
#include <SDL.h>
#include <glew.h>
#include <iostream>

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

错误是

错误1错误LNK2019:函数___tmainCRTStartup中引用了未解析的外部符号_main C:\ Users \ user \ Documents \ Visual Studio 2013 \ Projects \ OpenGLProject \ OpenGLProject \ MSVCRT.lib(crtexe.obj)OpenGLProject

我注意到如果我在SDL_main.h中注释掉#define main SDL_main,我就可以编译,这可能与问题有关;虽然我觉得我在这里咆哮着错误的树。

2 个答案:

答案 0 :(得分:1)

如果我没记错的话(自从我上次在Windows上使用SDL以来已经有一段时间了),您还必须添加一个名为SDLmain(或类似)的库。这个库定义了main函数,它进行了一些预初始化,然后调用SDL_main,这恰好是你的&#34; main&#34;功能

答案 1 :(得分:0)

我遇到了同样的问题,正如楼上说的那样,将SDL2main.lib添加到项目解决问题,请务必添加SDL2.LIB&amp;&amp; SDL2main.lib同时