你好。我不明白出了什么问题。包括所有库(SDL2.lib、SDL2main.lib)。一切都已初始化。为什么它不起作用?编译器输出:
> 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: ссылка на
> неразрешенный внешний символ _SDL_main в функции _main_utf8
> 1>C:\Users\alleksh_\Desktop\cppprojects &
> backups\games\SDLGame\Debug\SDLGame.exe : fatal error LNK1120:
> неразрешенных внешних элементов: 1
这是源代码:
#include <iostream>
#include <SDL.h>
int main()
{
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {return 1;}
SDL_Window *win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
if (win == nullptr) {return 1;}
return 0;
}
您使用 SDLmain 库,它定义了一个特定于平台的入口点,解析命令行参数(将它们转换为 utf-8),然后调用应用程序的 SDL 入口点。因此,在您的代码中
main(),您应该定义函数SDL 仍将宏覆盖
main为SDL_main,但参数集必须匹配。这不是一个好的做法,所以最好将函数的名称写完整,并在包含之后,SDL.h通过添加删除这个宏#undef main。