언리얼 엔진 4.11 이후 부터 버젼 확인 방식이 바뀌었는지 솔루션 빌드 후 압축해서 배포했더니 DLL 버전 오류가 발생했다. 에픽에 배포버전 정식 빌드 절차를 물어봤지만 원하는 답변을 얻을 수는 없었다.

 

UE4 AnswerHub 에 같은 질문이 있길래 답변대로 해봤지만 BUILD FAILED 메시지가 보였다. (지금 와서 확인해보니 컴파일 에러가 있었다.)

 

참고 :  

https://answers.unrealengine.com/questions/393280/packaging-ue4-for-distributing-internally.html

 

언리얼 엔진 소스를 수정해서 사용하고 있는 관계로 원본 언리얼 엔진을 받아서 빌드해 봤지만 C4819 컴파일 오류가 발생했다.

 

인코딩 문제인데 영미권에서 사용하는 문자를 한국어(949) 코드페이지에서 인식하지 못해 발생하는 오류였다. 강제로 utf-8 인코딩으로 바꾸거나 문제가 되는 문자를 지워서 해봤지만 하나를 수정하면 다른 곳에서 문제가 발생했다.

 

그러다가 문제 없는 소스를 배포했을 거라는 생각에 윈도우 기본 인코딩을 바꿔보기로 했다.

 

'제어판' > '키보드 또는 기타 입력 방법 변경' 을 눌러 '국가 및 언어' 설정창을 연다.

'관리자 옵션' 탭에서 '유니코드를 지원하지 않는 프로그램용 언어' 영역에서 '시스템 로캘 변경' 버튼을 누른다.

'현재 시스템 로캘' 에서 '영어(미국)'을 선택한다.

재부팅이 필요하다.

 

그리고 빌드했더니 BUILD SUCCESS !!

몇일만에 빌드 성공인지...

 

복사해서 실행했더니 잘 되는 것 같다. 에디터가 삭제되는 경우가 1번 있었는데 재현되지 않았다. Saved 와 Intermediate 폴더를 삭제하고 Clean 상태에서 하면 문제가 발생하지 않는 것 같다.

 

배포버전 빌드 방법

  • 엔진소스를 받는다.
  • UE4Games.uprojectdirs 파일을 추가한다.
    • Samples/
    • Templates/
  • 시스템 로캘을 '영어(미국)'으로 변경한다.
  • Engine/Build/BatchFiles 폴더로 이동한다.
  • 명령창에 아래와 같은 명령어를 입력한다.
    • RunUAT.bat GUBP -Node=GatherRocket -TargetPlatforms=Win32+Win64 -NoDDC -CleanLocal -NoSign
  • BUILD SUCCESSFUL 을 확인한다.
  • LocalBuilds/Rocket/Windows 폴더를 묶어서 배포한다.!!
728x90

+ Recent posts