inflearn logo
강의

Course

Instructor

[MMORPG Game Development with C++ and Unreal Series] Part 2: Game Math and DirectX12

Device reset

C++ 언어 표준과 Engine.lib 오류에 관하여..

280

alwjw

2 asked

0

안녕하세요. DirectX12 강의를 이제 수강 시작한 학생입니다.
강의에선 C++ 언어 표준을 C++ 14로 사용중입니다.
전, C++ 20을 사용하여 아래와 같이 구조체 초기화를 사용하려 했습니다.
DXGI_SWAP_CHAIN_DESC sd = { .BufferDesc = { .Width = static_cast<uint32>(info.width), .Height = static_cast<uint32>(info.height), .RefreshRate = { .Numerator = 60, .Denominator = 1 }, .Format = DXGI_FORMAT_R8G8B8A8_UNORM, .ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, .Scaling = DXGI_MODE_SCALING_UNSPECIFIED }, .SampleDesc = { .Count = 1, .Quality = 0 }, .BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT, .BufferCount = SWAP_CHAIN_BUFFER_COUNT, .OutputWindow = info.hwnd, .Windowed = info.windowed, .SwapEffect = DXGI_SWAP_EFFECT_FLIP_DISCARD, .Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH };

하지만, C++ 20을 사용하면 Engine 프로젝트 빌드 시, byte << 모호하다는 오류가 나오며, Engine.lib 파일이 Output 폴더 내에서 사라집니다. 억지로 빌드 시킨 후, Client 프로젝트 실행 시 오류가 생깁니다.
C++ 20기준 혹은 미리보기 최신 C++ 초안 기능을 사용하여 구조체 초기화 사용을 유지 한 채 실행할 수 있는 방법이 있을까요 ?

directx 게임수학

Answer 2

0

ryghkd5070328

저도 같은 문제가 발생해서 댓글 남겨봅니다.

 

MS의 Windows 관련 라이브러리에서 typedef를 통해 byte를 정의하고 있는데요, C++17부터 std::byte라는 표준 byte 타입이 추가되어서 이것과 충돌하는 문제가 있습니다.

만약 VS에서 C++ 컴파일러 버전을 17 이상으로 세팅하실 분이라면, 여러 방법이 있는데 저의 경우 가장 먼저 컴파일되는 Engine 정적 라이브러리 프로젝트의 pch 파일 최상단에 아래 키워드를 추가했습니다.

#define _HAS_STD_BYTE 0

이러면 std::byte가 무시된다고 합니다 :)

0

alwjw

질문에 대한 해답이 Texture Mapping 강의에 나오는 것으로 확인했습니다. 해결완료 했습니다.

복습중에 커맨드 큐 관련 질문이 있습니다.

0

33

1

_vsBlob와 _psBlob에서 nullptr이 뜨면서 실행이 안됩니다

0

56

1

#include d3dx12.h 추가했지만 오류

0

81

1

LNK1104 error, DirectXTexD.lib 파일을 열 수 없습니다.

0

122

1

[DirectXTex LNK2019 에러]

0

243

2

UI 랜더링이 이해가 안되어 질문드립니다

0

175

1

insideTess 값 관련 질문

0

125

1

렌더 타겟을 SRV로 사용하려고 합니다.

0

181

1

실행과정에서의 문제

0

393

3

결과물에 의문이 생겨서 한가지 질문 드립니다

0

147

1

uv좌표변환

0

147

1

Shader 관련 문제

0

222

1

Load 부분에서 문제가 있어 질문드립니다

0

162

1

강의에서 보여진 모습과 다른모양이 되어서 질문드립니다

0

173

1

enumclass 질문입니다

0

152

1

nullptr오류가 발생해요.

0

362

2

Normal Mapping / Assertion failed! 오류

0

219

1

1>LINK : fatal error LNK1104: 'Engine.lib' 파일을 열 수 없습니다.

0

429

2

shared_ptr 과 헤더파일 관련하여 질문있습니다

0

206

1

질문있습니다.

0

176

1

장치 초기화 nullptr이 자꾸 발견 되네요.

0

299

2

용 모델에 분명 Diffuse 텍스쳐가 있는것같은데 왜 적용이 안되나요?

0

251

1

안녕하세요 질문있습니다

0

203

1

DirectX11 강의 질문

0

352

1