VSCode SDL2“未定义对 `WinMain@16' 的引用”错误

问题描述 投票:0回答:0

我正在尝试在 VSCode 中使用 SDL2 制作一个简单的窗口。我似乎无法在任何地方找到可行的解决方案。每次运行我的 makefile 或只运行命令时,我都会收到错误消息“未定义对 `WinMain@16' 的引用”。我不知道为什么。我的 mingw 工作正常,因为我可以毫无问题地编译其他文件。

我的程序是这样的:

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

const int WIDTH = 600;
const int HEIGHT = 600;

int main(int argc, char *argv[]){
    SDL_Init(SDL_INIT_EVERYTHING);

    SDL_Window *window = SDL_CreateWindow("SDL TEST", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WIDTH, HEIGHT, 0);

    if (window == NULL){
        std::cout << "SDL WINDOW ERROR: " << SDL_GetError() << std::endl;
        return 1;
    }

    SDL_Event windowEvent;
    bool running = true;

    while (running){
        if (SDL_PollEvent(&windowEvent)){
            if (windowEvent.type == SDL_QUIT){
                running = false;
            }
        }
    }

    SDL_DestroyWindow(window);
    SDL_Quit();

    return 0;
}

我的 makefile 是:

all:
    g++ -I src/include -L src/lib -o main main.cpp -lmingw32 -lSDL2main -lSDL2

我有我的主要功能,我认为一切都编译得很好。任何帮助将不胜感激!

c++ c sdl-2
© www.soinside.com 2019 - 2024. All rights reserved.