공용 헤더폴더 자동으로 포함시키기
공용 헤더폴더 자동으로 포함시키기
- 지난 시간에 빌드 후에 자동으로 프로그램을 복사해주는 기능까지 구현했었다.
- 이제 이 자동 복사된 파일들을 다른 프로젝트에서 자동으로 포함(include) 시키는 기능을 구현해야 하는데, 비주얼 스튜디오에 이 기능이 이미 있다.
- Client2D 프로젝트에서 자동으로 AR41Engine 프로젝트의 라이브러리 파일과 헤더 파일이 포함되도록 설정해 준다.
> 포함 디렉터리 지정


→ 이 기능을 사용할 프로젝트→속성→VC++ 디렉터리로 들어가서 ‘포함 디렉터리’에 프로젝트에서 공용 헤더파일을 옮겨놓는 폴더인 ../../Engine/Include/ 폴더를 지정해 준다.
** 프로젝트 파일(.vcsproj) 파일이 있는 디렉터리를 기준으로 한 상대 경로로 지정해주면 된다.
> 라이브러리 디렉터리(.lib)파일

→ 마찬가지로 .lib 파일이 있는 폴더인 ../Bin/ 폴더를 포함시킨다.
> main.cpp 함수에서 포함시키기
- Debug와 Release 모드에서 다른 라이브러리가 링크되도록 설정해 준다.
#include "Engine.h"
#include "resource.h"
#ifdef _DEBUG
#pragma comment(lib, "AR41Engine_Debug.lib")
#else
#pragma comment(lib, "AR41Engine.lib")
#endif // _DEBUG
> 이 작업을, Client2D 프로젝트와 Editor 프로젝트 두 프로젝트에서 해 준다.
- 이제 Client2D 프로젝트에서 CEngine 클래스를 사용할 수 있게 되었다.
Client2D main.cpp 설정
Client2D main.cpp 설정
코드 전문
코드 전문
#include "Engine.h"
#include "resource.h"
#ifdef _DEBUG
#pragma comment(lib, "AR41Engine_Debug.lib")
#else
#pragma comment(lib, "AR41Engine.lib")
#endif // _DEBUG
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nCmdShow)
{
if (!CEngine::GetInst()->Init(hInstance, TEXT("Client2D"), TEXT("Client2D"), IDI_ICON1,
IDI_ICON1, 1280, 720, 1280, 720, true))
{
CEngine::DestroyInst();
return 0;
}
int Ret = CEngine::GetInst()->Run();
CEngine::DestroyInst();
return Ret;
}
> CEngine 초기화
- 창 이름은 “Client2D”로 설정한다.
- 아이콘에 쓰일 리소스는 직접 추가해주어야 한다.
- 이렇게 해주면 resources.h 헤더가 생성되고, 이 헤더를 포함시켜준 뒤
#define IDI_ICON1 101
→ 이 매크로를 매개변수로 주면 된다.
- 해상도는 일단 HD 해상도, 창모드로 설정해 준다.
- 초기화 실패 시 도로 제거하고 return
> 코드
if (!CEngine::GetInst()->Init(hInstance, TEXT("Client2D"), TEXT("Client2D"), IDI_ICON1,
IDI_ICON1, 1280, 720, 1280, 720, true))
{
CEngine::DestroyInst();
return 0;
}
> 실행
int Ret = CEngine::GetInst()->Run(); //루프 반복
CEngine::DestroyInst(); //루프 종료 시 메모리 할당 해제 후 return
return Ret;
CEngine의 생성자에서 메모리 릭 체크 설정
CEngine의 생성자에서 메모리 릭 체크 설정
CEngine::CEngine() :
m_hInst(0),
m_hWnd(0),
m_WindowRS{}
{
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
//_CrtSetBreakAlloc(100);
}
> 벡터의 내적, 외적, 행렬, 제1코사인법칙, 제2코사인법칙 등 이론 공부
Uploaded by N2T
'자습' 카테고리의 다른 글
제목토글 테스트 (0) | 2022.08.20 |
---|---|
220714_2_DX Device Initialize 1 (0) | 2022.08.20 |
220713_기본 틀 작업, .bat파일 자동화 (0) | 2022.08.20 |
12345678 (0) | 2022.08.20 |
TIPS (0) | 2022.08.20 |