C++ 언어 표준과 Engine.lib 오류에 관하여..
280
2 asked
안녕하세요. 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++ 초안 기능을 사용하여 구조체 초기화 사용을 유지 한 채 실행할 수 있는 방법이 있을까요 ?
Answer 2
0
저도 같은 문제가 발생해서 댓글 남겨봅니다.
MS의 Windows 관련 라이브러리에서 typedef를 통해 byte를 정의하고 있는데요, C++17부터 std::byte라는 표준 byte 타입이 추가되어서 이것과 충돌하는 문제가 있습니다.
만약 VS에서 C++ 컴파일러 버전을 17 이상으로 세팅하실 분이라면, 여러 방법이 있는데 저의 경우 가장 먼저 컴파일되는 Engine 정적 라이브러리 프로젝트의 pch 파일 최상단에 아래 키워드를 추가했습니다.
#define _HAS_STD_BYTE 0이러면 std::byte가 무시된다고 합니다 :)
복습중에 커맨드 큐 관련 질문이 있습니다.
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

