Yorick
Yorick

Reputation: 31

LNK1561 entry point must be defined - SDL

I got a LNK1561 entry point must be defined error i tried somethings my self as stsyem settings to console and it still doesn't work. Here is my code for every class the SDl.h is from the SDL.h donwload page.

main.cpp:

#include <iostream>
#include "MainGame.h"

int main(int argc, char** argv) {

std::cout << "Enter any ket to quit...";
int a;
std::cin >> a;

return 0;

}

MainGame.cpp:

#include "MainGame.h"

MainGame::MainGame()
{

_window = nullptr;
_screenHeight = 1028;
_screenWidth = 768;

}


MainGame::~MainGame()
{
}

void MainGame::run() {
    InitSystems();
}

void MainGame::InitSystems() {
    SDL_Init(SDL_INIT_EVERYTHING);

    _window = SDL_CreateWindow("title", SDL_WINDOWPOS_CENTERED, 
    SDL_WINDOWPOS_CENTERED, 1028, 768, SDL_WINDOW_OPENGL);
    }

MainGame.h:

#pragma once

#include <SDL/SDL.h>

class MainGame
{
public:
    MainGame();
    ~MainGame();

    void run();

    void InitSystems();

private:
    SDL_Window* _window;
    int _screenWidth;
    int _screenHeight;
};

Allt his code is to open an Windowed frame on your computer en open an console with the text Press Any ket to quit... If i remove the SDL.h include and the SDL code it all works if i put the include back and not the SDL code it gives the error again.

Upvotes: 1

Views: 867

Answers (1)

Serkan Pek&#231;etin
Serkan Pek&#231;etin

Reputation: 693

Have you tried using MainGame in your main function? Chances that the compiler assumes that it is never used and you do not get the #include <SDL/SDL.h> directive to work. Also, consider changing #include <SDL/SDL.h> to #include "SDL/SDL.h".

Also you might consider using SDL_SetMainReady for the cases that you are not using SDL_Main as the entry point.

Upvotes: 1

Related Questions