在带有SDL2的Visual Studio 2012中,"未解析的外部符号_SDL_main在函数中引用"错误

use*_*347 1 c++ sdl visual-studio-2012

我已经在互联网上搜寻了几个星期,但没有一个答案奏效.我的代码是:

#include <SDL.h>
#include <iostream>

using namespace std;

int main(int argc, char** argv[])
{
    SDL_Window *win = nullptr;
    SDL_Renderer *ren = nullptr;
    SDL_Surface *bmp = nullptr;
    SDL_Texture *tex = nullptr;


    if (SDL_Init(SDL_INIT_EVERYTHING))
    {
        cout << SDL_GetError();
        return 1;
    }

    win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);

    if (win == nullptr)
    {
        cout << SDL_GetError();
        return 1;
    }

    ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);

    if (ren == nullptr)
    {
        cout << SDL_GetError();
        return 1;
    }

    bmp = SDL_LoadBMP("hello.bmp");
    tex = SDL_CreateTextureFromSurface(ren, bmp);
    SDL_FreeSurface(bmp);

    SDL_RenderClear(ren);
    SDL_RenderCopy(ren, tex, NULL, NULL);
    SDL_RenderPresent(ren);

    SDL_Delay(2000);
    SDL_DestroyTexture(tex);
    SDL_DestroyRenderer(ren);
    SDL_DestroyWindow(win);

    SDL_Quit();
    return 0;

}
Run Code Online (Sandbox Code Playgroud)

香港专业教育学院(尝试#undef main了另一个错误),甚至重新定义它无济于事.我还尝试了其他几种尝试,例如将其创建为Windows控制台项目.

无论如何,我真的希望你能帮助我和其他人.干杯,

user(在此处插入伪随机生成的整数)

Nem*_*ric 5

您的main功能的签名不正确.

这一行:

int main(int argc, char** argv[])
Run Code Online (Sandbox Code Playgroud)

应该

int main(int argc, char* argv[])
Run Code Online (Sandbox Code Playgroud)