在SDL2中绕过“int main(int argc,char ** argv)”

时间:2016-05-13 21:42:16

标签: c++ sdl

我正在用C ++开发一个跨平台的Opengl 4.5 / DirectX库;对于mac osx和linux,我想将SDL2与ogl渲染器一起使用,对于windows,我想用wgl实现一个directx渲染器。问题是SDL需要访问“int main(int argc,char ** args)”并且不允许我定义WinMain,因为它在SDLmain中有一些初始化代码。有什么建议吗?

PS:我收到了错误

unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) in VS2015.

1 个答案:

答案 0 :(得分:1)

您可能希望在包含SDL_MAIN_HANDLED之前定义SDL.h,例如

#define SDL_MAIN_HANDLED
#include "SDL.h"

请参阅https://wiki.libsdl.org/SDL_SetMainReady