我在C ++中使用SDL并且我一直收到错误:
error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
我该怎么做才能解决这个问题?这是我的来源:
#include <SDL.h>
int main(int argc, char *argv[]){
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* Window = NULL;
Window = SDL_CreateWindow("Render Window",0,0,1000,1000, SDL_WINDOW_SHOWN || SDL_WINDOW_FULLSCREEN);
return 0;
}
我的链接器和编译器看起来很好,我在子系统等中包含了控制台。但是只有在我添加时才会出现错误:
#include <SDL.h>
答案 0 :(得分:8)
我认为&#34; SDL.h&#34;内部包含&#34; SDL_main.h&#34;,其中包含一个奇怪的#define
:
#define main SDL_main
这几乎肯定搞砸了你自己的main
。
尝试在包含&#34; SDL.h&#34;之后添加#undef main
,例如:
#include <SDL.h>
#undef main
由于您说您已将SubSystem
更改为Console
,这应该就是您所需要的。
有关详细信息,请参阅this question。