오류 수십개 뱉어내고 파업해버림
//소스코드
#pragma once
enum WindowMode
{
FULL,
WINDOW
};
class App : public Singleton
{
private:
int m_Width;
int m_Height;
bool m_WindowMode;
HWND m_Hwnd;
public:
App();
~App();
private:
bool _CreateWindow();
bool _CreateRenderer();
public:
int Mode;
bool Init(int width, int height, bool windowMode);
void Run();
void Release();
public:
double
Time
, CurrentTime
, dt
, NewTime
, FrameTime
, DeltaTime;
public:
HWND GetHwnd() {
return m_Hwnd;
}
private:
static LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
};
//
#include "stdafx.h"
#include "App.h"
App::App() :
CurrentTime(0)
,DeltaTime(0)
,FrameTime(0)
,Mode(WINDOW)
,NewTime(0)
,Time(0)
,dt(0)
,m_Height(0)
,m_Hwnd(nullptr)
,m_Width(0)
,m_WindowMode(true)
{
}
App::~App()
{
}
bool App::Init(int width, int height, bool windowMode)
{
m_Width = width;
m_Height = height;
m_WindowMode = windowMode;
if (!_CreateWindow())
return false;
if (!_CreateRenderer())
return false;
Time = 0.0;
dt = 1.0 / 60.0;
CurrentTime = GetTickCount64();
return true;
}
void App::Run()
{
MSG msg;
ZeroMemory(&msg, sizeof(MSG));
while (msg.message != WM_QUIT)
{
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
NewTime = GetTickCount64();
FrameTime = NewTime - CurrentTime;
CurrentTime = NewTime;
DeltaTime = FrameTime / 1000.0;
Renderer::GetInst()->Begin();
SceneDirector::GetInst()->Update(DeltaTime,Time);
printf("Time : %0.6f\nFrameTime : %0.6f\n", FrameTime, DeltaTime);
Time += dt;
SceneDirector::GetInst()->Render();
Renderer::GetInst()->End();
if (GetAsyncKeyState(VK_ESCAPE))
{
ObjectMgr::GetInst()->Release();
App::GetInst()->Release();
}
}
}
}
void App::Release()
{
FreeConsole();
Renderer::GetInst()->Release();
TextFont::GetInst()->Release();
}
LRESULT App::WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
INPUT->ButtonDown(true);
break;
case WM_LBUTTONUP:
INPUT->ButtonDown(false);
break;
}
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
bool App::_CreateWindow()
{
WNDCLASS wc = {};
wc.lpszClassName = L"Space";
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.lpfnWndProc = WndProc;
RegisterClass(&wc);
DWORD Style = 0;
if (m_WindowMode)
Style = WS_OVERLAPPEDWINDOW;
else
Style = WS_POPUP | WS_EX_TOPMOST;
HWND hWnd = CreateWindow(wc.lpszClassName, wc.lpszClassName, Style, 0, 0, m_Width, m_Height, 0, 0, 0, 0);
if (hWnd)
m_Hwnd = hWnd;
else
return false;
ShowWindow(m_Hwnd, SW_SHOWDEFAULT);
return true;
}
bool App::_CreateRenderer()
{
if (!(Renderer::GetInst()->Init(m_Width, m_Height, m_WindowMode)))
return false;
return true;
}
내가 이래서 c c++하지 말란거야. 창 하나 띄우는데도 이렇게 장애가 많아서야. 저거 어떻게 잡을거냐. 시간버리지 말고 파이썬해라
겜을 어떻게 파이썬으로 만드노
파이게임도 있고, 아니먄 파이썬말고 유니티해도 되고
C++ 쓰레기의 문제에 갓C언어까지 같이 엮지 마라
그리고 오류내용을 한개씩 긁어서 구글에 치는것부터 시작해라.
그리고 저오류는 보통 헤더에 선언안하고 오타났을때나 나타나는 오류인데 검색해봤자 비슷비슷한것만뜨고해서 물어본건데 갑자기 언어를 바꾸라는 씹소리나 함?
언어 바꾸는게 c++로 그냥 써서 만드는거보다 시간이 절약되거든.
디버거 걸어서 어디부터인지 찾아
아 컴파일이 안되는건가
아예 헤더파일 인식을 안하는것같아서 stdafx.h문제인가하고 구글링도 해보고 다시 작성해봤는데도 저럼
? 됐다
#include "App.h" 이걸 #include"App.h"로 바꾸니 된거같음 뭐가뭔지
그러면 아 잊어먹어서 뭐라고 부르나... 헤더파일만 딸랑 인클루드해서 되는게 아니고 pch 확장자(아마 pre compiled header file) 그거 등록하는데에 안한거 아니냐? 헤더파일 못찾는다거나 링크에러면 pch나 dll 등록 안해서 그럴수있다. 만약 dx쓰는거면 그거 해야해
그냥 인클루드 다시쓰니 되버림ㅋㅋ;
빌드 클린 자주 해라