使用SDL库时出现链接器错误:_main已在main.obj中定义



所以我已经知道为什么会发生这种错误,在SDL_main.h文件中创建了一个'main'宏,这会导致实际的main函数出现问题。

只是没有一个明显的解决办法对我有帮助。我试过了:

  1. 用(int argc,char*argv[](定义我的主函数。

  2. 尝试使用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
    
  3. 尝试不设防的主要。

为了让主功能再次正常工作,我还能尝试其他技巧吗?

也可以在main.cpp文件的顶部尝试:

#define SDL_MAIN_HANDLED

这应该会导致SDL跳过其所有main的废话。

请注意,在包含SDL:之前需要进行此操作

#define SDL_MAIN_HANDLED
#include "SDL2/SDL.h"

最新更新