必须定义LNK1561入口点 - SDL

时间:2017-10-07 07:57:13

标签: c++ sdl

我得到一个LNK1561入口点必须定义错误我尝试过我自己作为stsyem设置到控制台,它仍然没有工作。这是SDl.h每个类的代码,来自SDL.h下载页面。

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他的代码是在你的计算机上打开一个Windowed框架打开一个控制台,文本按Any cla退出...如果我删除了SDL.h include和SDL代码,如果我放入包含它返回而不是SDL代码,它再次给出错误。

1 个答案:

答案 0 :(得分:1)

您是否尝试过在主要功能中使用MainGame?编译器可能会假设它从未使用过,并且您没有使#include <SDL/SDL.h>指令起作用。另外,请考虑将#include <SDL/SDL.h>更改为#include "SDL/SDL.h"

对于未使用SDL_Main作为入口点的情况,您也可以考虑使用SDL_SetMainReady