C2338 - 매크로 관련 에러
c2338 - static_assert failed formatting string must be a const TCHAR array
나는 UE_LOG 매크로를 사용하며 위의 에러를 경험했다.
UE5.1 버전에서는 UE_LOG 매크로의 정의가 달라 TCHAR변수를 그냥 넘겨도 에러가 안떳지만, 5.2버전 이후부터는 함수 내부에서만 변수 수정이 가능하도록 const static으로 TCHAR변수를 선언해줘야 사용 가능.
또한 UE_LOG 사용을 지양하고 GEngine->AddOnScreenDebugMessage 방식을 사용하도록 권장한다.
5.3에서는 세가지 방식을 사용.
1) TEXT 매크로
UE_LOG(LogTemp, Log, TEXT("Log Message"));
2) FString 객체 사용
FString LogString = TEXT("Log Message");
UE_LOG(LogTemp, Log, LogString);
3) 권장 - GEngine 사용
FString LogString = TEXT("Log Message");
GEngine->AddOnScreenDebugMessage(
0, // Unique message ID (optional)
5.0f, // Message duration in seconds
FColor::Red, // Message color
LogString, // Message text
);
'Unreal 이론' 카테고리의 다른 글
언리얼 델리게이트 (0) | 2024.08.14 |
---|---|
언리얼 컴포지션 (0) | 2024.08.13 |
언리얼 인터페이스 (0) | 2024.08.08 |
언리얼 프로퍼티 시스템(리플렉션) (0) | 2024.08.04 |
언리얼 오브젝트 개념 (0) | 2024.08.03 |