개요
실행환경 UE5.0.3 버전, VS 2022 버전인 경우에 C++ 클래스 추가 후 발생하는 프로젝트 에러 수정법에 대한 해결법 작성
본문
C++ 클래스를 생성한 후에 언리얼 엔진 에디터를 닫고 VS에서 빌드를 진행하는데 버그가 발생했다.
보통 해당 버그가 발생했을 때는 간단하게 해결하는 방법이 프로젝트 폴더로 가서 Binaries, Intermediate 폴더와 .sln 파일을 제거 후,
uproject 파일을 우클릭하여 generate visual studio project files를 실행한 다음에
다시 .sln 파일을 통해 프로젝트를 열고 빌드를 하면 대부분 해결이 된다.
보통 이 경우 라이브 코딩과 관련되어서 버그가 발생하는 부분이기 때문에 이렇게 자주 진행해서 해결할 수 있게 된다.
그러나 이번에 발생한 버그는 이렇게 해도 해결이 되지 않는 상황이었다.
주목할 점은 위 에러에 보이는 "TStringConversion<TStringConvert<From, To>,128>" 부분..
이 부분과 관련되어서 5.0.3버전과 VS2022버전 사이에서 버그가 발생하는 것이다.
결국 답답하면 내가 뛰어야지 하고 cmd를 킨 다음, 콘솔창에 나와있던 명령어를 직접 실행해주었다.
중간 부분을 보면
"Building ObstacleAssault..." 문장 아래에
Using Visual Studio 2022 14.41.34123 toolchain 부분을 확인할 수 있다.
이는 현재 사용되고 있는 비주얼 스튜디오 2022 버전의 툴체인 버전을 의미하는데
실행 환경인 언리얼 엔진 5.0.3 버전에서는 엔진 버그로 인해서 14.38 아래로 다운그레이드를 해주어야 한다.
Visual Studioo Installer를 실행한다음 개별 구성 요소에서 "msvc x64 14.38"을 입력 후 설치가 되어 있지 않다면 빌드 도구를 설치한다.
그 후 폴더 주소 경로에 %APPDATA%\Unreal Engine\UnrealBuildTool 로 이동하면 BuildConfiguration.xml 파일이 존재한다.
해당 파일을 우클릭하여 메모장을 열고 아래의 내용을 복사하여 붙여넣기 한다.
<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
<WindowsPlatform>
<CompilerVersion>14.38.33130</CompilerVersion>
</WindowsPlatform>
</Configuration>
윈도우 플랫폼의 컴파일러 버전을 고정하는 것이다.
(주의 : 해당 14.38.33130은 컴파일러 버전이기 때문에 아래 예시로 나오는 14.38.17.8를 넣는게 아님)
그 다음 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\14.38.17.8 로 이동하여
txt파일을 한번 실행시킨다. (해당 경로는 본인의 Visual Studio가 설치된 경로에 따라 달라질 수 있다.)
그 후 위에 적었던 대로 다시 프로젝트 폴더로 돌아와서
Binaries, Intermediate 폴더와 .sln 파일을 제거한 후,
uproject 파일 우클릭으로 다시 generate visual studio project files를 실행하고
빌드를 하면 해결된다.
추가로
C++ 클래스를 추가했는데 아래와 같이 C++ 클래스 폴더가 보이지 않는다면
아래와 같이 상단의 Development Editor가 아니라 Development로 되어있을 수도 있으니
Development Editor로 변경 후 다시 빌드를 하고 에디터를 실행하면 제대로 동작할 것이다.
'개발 공부 기록 > UnrealEngine5' 카테고리의 다른 글
이득우의 언리얼 C++ 게임 개발의 정석 - 교재 후기 (3) | 2024.12.19 |
---|---|
이득우의 언리얼 C++ 게임 개발의 정석 UE5로 따라잡기 - 11 (1) | 2024.12.11 |
이득우의 언리얼 C++ 게임 개발의 정석 UE5로 따라잡기 - 10 (0) | 2024.12.03 |
이득우의 언리얼 C++ 게임 개발의 정석 UE5로 따라잡기 - 9 (0) | 2024.11.26 |
이득우의 언리얼 C++ 게임 개발의 정석 UE5로 따라잡기 - 8 (0) | 2024.11.21 |