Linux용 크로스 컴파일

Windows에서 Linux 플랫폼을 대상으로 하는 크로스 컴파일 툴체인 셋업 방법을 알아봅니다.

Windows
MacOS
Linux

Cross-compiling (크로스 컴파일) 덕에 Windows 에서 Linux 대상 게임을 개발할 수 있습니다. 현재 크로스 컴파일은 Windows 에만 지원되며, Mac 사용자는 네이티브 컴파일 을 사용해야 합니다. 추가로 Linux-x86_64 플랫폼에 대한 라이브러리 및 툴체인을 지원, 테스트, 제공합니다.

언리얼 엔진 4.13 (이하) 버전으로 개발중인 경우, Linux용 크로스 컴파일 (레거시) 문서를 참고하세요.

왜 크로스 컴파일인가

크로스 컴파일 덕에 Windows 중심으로 작업하는 게임 개발자들이 Linux를 타깃으로 개발할 수 있습니다. 현재 크로스 컴파일은 Windows에만 지원됩니다. Mac 사용자들은 네이티브 컴파일 에 의존해야 합니다. Linux-x86_64 플랫폼용 라이브러이와 툴체인을 지원, 테스트, 제공해 드리고 있습니다.

툴체인 구하기

다음 표를 통해 적합한 툴체인을 다운로드할 수 있습니다:

UE4 버전

툴체인

4.22

-v13 clang-7.0.1 기반

4.21

-v12 clang-6.0.1 기반

4.19 및 4.20

-v11 clang-5.0.0 기반

4.18

-v10 clang-5.0.0 기반

4.16 맟 4.17

-v9 clang-4.0.0 기반

4.14 및 4.15

-v8 clang-3.9.0 기반

4.11 부터 4.13

-v7 clang-3.7.0 기반

4.9 및 4.10

-v6 clang-3.6.0 기반

4.8 이전

-v4 clang-3.5.0 기반

  • 툴체인 -v8 부터 -v13 의 경우, 파일을 추출하거나 환경 변수를 설정할 필요 없이, 그냥 인스톨러 패키지를 실행하면 됩니다.

  • 툴체인 -v4 부터 -v7 의 경우, Linux ARM (원본 Raspberry Pi 이상)에 대해 컴파일할 수 있는 라이브러리와 툴체인도 제공합니다. 참고로 이는 UnrealBuildTool (UBT)에 (약간의) 코드 수정이 필요합니다.

  • 현재 CentOS 에서 언리얼 엔진을 실행하는 사용자의 경우 AMDGPU-PRO (RADV 제외) 드라이버를 지원합니다.

특정 플랫폼 대상

4.14 는 x86_64 플랫폼만 대상으로 삼을 수 있기에, 이 부분은 4.15 이상로 작업중인 개발자를 위한 것입니다.

프로젝트가 특정 플랫폼을 대상으로 삼을 수 있도록 하려면, 프로젝트의 기본 엔진 구성 파일 을 편집해야 합니다. 그 방법은 해당 파일 위치로 ([Project Directory]\Config) 이동하여 DefaultEngine.ini 파일을 연 뒤 다음 줄을 추가합니다:

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
TargetArchitecture=X86_64UnknownLinuxGnu

TargetArchitecture 을 다음 값 중 아무 것으로나 설정합니다:

  • X86_64UnknownLinuxGnu

  • ArmUnknownLinuxGnueabihf

  • AArch64UnknownLinuxGnueabi

문제 해결

현재 셋업 확인은 cmd 에서 %LINUX_MULTIARCH_ROOT%x86_64-unknown-linux-gnu\bin\clang++ -v 를 실행하면 "clang version X.X.X ..." 처럼 표시될 것입니다 (아래 참고).

env_var_clangsampleflush.png

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼