在使用SDL2库进行开发的时候,一开始会遇到标题所示的问题。
解决办法是自定义SDL_MAIN_HANDLED宏,如#define SDL_MAIN_HANDLED即可解决问题。
产生这个问题的原因是SDL把main函数变成了自己的SDL_main,详见SDL_main.h里,
#if defined(SDL_MAIN_NEEDED) || defined(SDL_MAIN_AVAILABLE)
#define main SDL_main
#endif
SDL_MAIN_NEEDED和SDL_MAIN_AVAILABLE默认是会开启其中一个的。详见SDL_main.h里,
#ifndef SDL_MAIN_HANDLED
#if defined(__WIN32__)
/* On Windows SDL provides WinMain(), which parses the command line and passes
the arguments to your main function.
If you provide your own WinMain(), you may define SDL_MAIN_HANDLED
*/
#define SDL_MAIN_AVAILABLE
#elif defined(__WINRT__)
/* On WinRT, SDL provides a main function that initializes CoreApplication,
creating an instance of IFrameworkView in the process.
Please note that #include'ing SDL_main.h is not enough to get a main()
function worki