所以我已经知道为什么会发生这种错误,在SDL_main.h文件中创建了一个'main'宏,这会导致实际的main函数出现问题。
只是没有一个明显的解决办法对我有帮助。我试过了:
-
用(int argc,char*argv[](定义我的主函数。
-
尝试使用C链接,如SDL_main.h中的注释所示:
* The application's main() function must be called with C linkage, * and should be declared like this: * code * #ifdef __cplusplus * extern "C" * #endif * int main(int argc, char *argv[]) * { * } * endcode
-
尝试不设防的主要。
为了让主功能再次正常工作,我还能尝试其他技巧吗?
也可以在main.cpp
文件的顶部尝试:
#define SDL_MAIN_HANDLED
这应该会导致SDL跳过其所有main
的废话。
请注意,在包含SDL
:之前需要进行此操作
#define SDL_MAIN_HANDLED
#include "SDL2/SDL.h"