Ошибка LNK1120 и ошибка LNK2019 внутри включают строку игрового устройства? - PullRequest
0 голосов
/ 05 октября 2019

В настоящее время я использую этот учебник: https://www.youtube.com/watch?v=44tO977slsU&list=PLhfAbcv9cehhkG7ZQK0nfIGJC_C-wSLrx&index=3

Но я получаю эту ошибку в первой строке, которую я не знаю, как обратиться к новичку.
Это говорит о том, что это неразрешенные внешние данные

Я пытался взглянуть на некоторые из советов по настройке windows, , но я не знаю, как применить его к этому учебнику.

вот код:

#include "Header.hpp"

Game::Game(){}
Game::~Game(){}

void Game::init(const char* title, int xpos, int ypos, int width, int height, bool fullscreen)
{
    int flags = 0;
    if (fullscreen) { flags = SDL_WINDOW_FULLSCREEN; }

    if (SDL_Init(SDL_INIT_EVERYTHING) == 0) {
        std::cout << "Subsystems initialized" << std::endl;
        window = SDL_CreateWindow(title, xpos, ypos, width, height, flags);
        if (window) { std::cout << "Windows created" << std::endl; }

        renderer = SDL_CreateRenderer(window, -1, 0);
        if (renderer) {
            SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);

            std::cout << "renderer created" << std::endl;
        }

         isRunning == true; } else { isRunning == false; }
    }

void  Game::handleEvents() {
    SDL_Event event;
    SDL_PollEvent(&event);
    switch (event.type) {
    case SDL_QUIT:
        isRunning = false;
        break;

    default:
        break;
    }
}

void Game::update() { count++; std::cout << count << std::endl; }

void Game::render() {
    SDL_RenderClear(renderer);
    SDL_RenderPresent(renderer);

}

void Game::clean() {
    SDL_DestroyWindow(window);
    SDL_DestroyRenderer(renderer);
    SDL_Quit();
    std::cout << "Game cleaned" << std::endl;

}

это заголовочный файл, если он поможет:

#ifndef Header_hpp
#define Header_hpp


#include <iostream>

#include "SDL.h"


class Game {
public:
    Game();
    ~Game();
    void init(const char* title, int xpos, int ypos, int width, int height, bool fullscreen);
    void handleEvents();
    void update();
    void render();
    void clean();

    bool running(){ return isRunning; }
private:
    int count = 0;
    bool isRunning;

    SDL_Window  *window;
    SDL_Renderer *renderer;


};

#endif / * Header_hpp */

Я действительно не знаю, что может бытьпоэтому я предполагаю, что я включу и main.cpp, если там что-то будет найдено:

#include "Header.hpp"

Game* game = nullptr;



int main(int argc, const char * argv[]) {

    game = new Game();
    game->init("Birchengine", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, false);

    while (game->running()) {
        game->handleEvents();
        game->update();
        game->render();

    }
    game->clean();

    return 0;
}

Что может быть причиной этой ошибки и как ее предотвратить в будущем?

...