C++ OpenGL SDL链接错误MSVCRT.lib

C++ OpenGL SDL链接错误MSVCRT.lib,c++,opengl,dll,visual-studio-2013,C++,Opengl,Dll,Visual Studio 2013,正在尝试使用SDL、glew和glm在windows 7上的visual studio 2013中设置OpenGL环境。是的,我已经正确链接和排序了所有的头文件和dll,我有SDL2.dll和glew32.dll以及.exe。我的链接器输入包括opengl32.lib。运行库设置为“多线程DLL” /*main.cpp*/ #包括 #包括 #包括 int main(int argc,char*argv[]) { 返回0; } 错误是 错误1错误LNK2019:未解析的外部符号\u main在函

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

/*main.cpp*/
#包括
#包括
#包括
int main(int argc,char*argv[])
{
返回0;
}
错误是

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


我注意到,如果我在SDL_main.h中注释掉
#define main SDL_main
,我就能够编译,因此这可能与问题有关;虽然我觉得我在这里找错人了

如果我没记错的话(我上次在Windows上使用SDL已经有一段时间了),您还必须添加一个名为
SDLmain
(或类似)的库。这个库定义了
main
函数,它进行一些预初始化,然后调用
SDL\u main
,它恰好是您的“main”函数。

我遇到了同样的问题,正如楼上的人所说,将SDL2main.lib添加到项目中解决问题,确保同时添加SDL2.LIB和&SDL2main.LIB

项目设置是否设置为图形应用程序而不是控制台设置?从函数名(
\u main
)判断,它不是。图形入口点是
WinMain
,它在
SDLmain
中定义(因此您不需要定义自己的)。是的,我已经尝试将子系统设置为Windows。与此同时,我实际上已经尝试在不提供自己的WinMain的情况下运行它,方法是定义
SDL\u MAIN\u HANDLED
,然后查看源代码,复制并粘贴它们提供的MAIN(顺便说一下,就是
int-WINAPI-WinMain(HINSTANCE-hInst,HINSTANCE-hPrev,LPSTR-szCmdLine,int-sw)
)直接进入我的main.cpp。这可以编译,但当我调用类似于
SDL_SetMainReady()的东西时存在链接器错误。
/*main.cpp*/
#include <SDL.h>
#include <glew.h>
#include <iostream>

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