언어:
페이지 정보
태그:
수준별:
엔진 버전:
언리얼 엔진
이 문서가 번역된 이후 업데이트된 내용이 있을 수 있습니다. 자세한 내용은 영문 페이지를 참고하세요.

Linux용 크로스 컴파일

언리얼 엔진
사전 필수 토픽

이 페이지는 다음 토픽에 대한 지식을 이미 갖추고 있는 분들을 대상으로 합니다. 계속하기 전 먼저 읽어보시기 바랍니다.

LinuxXC_Banner.png

최근 크로스 컴파일 툴체인 개선사항으로 언리얼 엔진 4 (UE4) 개발자가 Windows 개발 환경에서 다양한 플랫폼을 타깃으로 작업하는 것이 가능해 졌습니다. 여기서는 크로스 컴파일 툴체인으로 타깃을 삼을 수 있는 플랫폼은 어떤 것들이 있는지, 툴체인 다운로드 링크를 제공해 드리고, 최종적으로 UE4 프로젝트를 Linux 용으로 크로스 컴파일하기 위한 셋업 방법을 보여드립니다. 언리얼 엔진 4.15 버전으로 프로젝트를 개발중인 경우, 타깃 플랫폼을 전환하는 방법도 배워보실 수 있습니다.

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

왜 크로스 컴파일인가

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

툴체인 구하기

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

툴체인

UE4 버전

-v11 clang-5.0.0-based

4.19

-v10 clang-5.0.0-based

4.18

-v9 clang-4.0.0-based

4.16, 4.17

-v8 clang-3.9.0-based

4.14, 4.15

-v7 clang-3.7.0-based

4.11 - 4.13

-v6 clang-3.6.0-based

4.9, 4.10

-v4 clang-3.5.0-based

  • 4.8

Setup 및 UnSetup Windows 배치(*.bat) 파일은 -v9 에 포함되어 있지 않습니다. UE4 용 AutoSDKs 셋업시에만 필요하기 때문입니다. Setup.batUnsetup.bat 는 (현재 문서화되지 않은) AutoSDKs 시스템의 일부이므로 기존 버전 툴테인에 포함되어 있습니다.

Linux ARM (원본 Raspberry Pi 이상) 용 컴파일을 위한 라이브러이와 툴체인도 제공해 드리고 있습니다만, 이를 위해서는 언리얼 빌드 툴 (UBT) 에서 약간의 코드 수정을 가해야 할 것입니다.

툴체인 셋업

Windows (호스트) 컴퓨터에서 앞서 언급한 플랫폼을 타깃으로 하기 위한 툴체인 셋업을 하려면, 툴체인을 다운로드한 후 Linux 및 ARM 기반 환경에 맞춰 어플리케이션을 패키징하기 위한 시스템 환경 변수를 설정해야 합니다. Linux 플랫폼 용으로 UE4 프로젝트를 처음 패키징하는 경우, Visual Studio for Linux 에서 엔진을 빌드하기도 해야 합니다. 다음 단계를 통해, 현재 지원되는 플랫폼을 타깃으로 하기 위한 호스트 환경 셋업이 완료될 것입니다.

다음 단계를 밟기 전 안정적인 인터넷 접속이 되어 있는지 확인하세요. 인터넷 회선 속도에 따라 툴체인 다운로드는 몇 분에서 몇 시간까지 걸릴 수 있습니다.

툴체인 다운로드

  1. 엔진 버전에 적합한 크로스 툴체인을 다운로드해 주세요.

  2. 이제 폴더를 생성한 후, 이름을 Linux_CrossCompileToolChain 이라 합니다.

    클릭하면 원본 이미지를 확인합니다.

    다른 작명 규칙을 사용하는 경우, 그 폴더 이름을 설명을 위해 여기 선택한 이름으로 대체해 주세요.

  3. 툴체인 압축을 풉니다. 압축을 푼 위치가 이전 단계에서 생성한 폴더인지 확인하세요.

    LinuxXC_Step3.png

    클릭하면 원본 이미지를 확인합니다.

  4. [ROOT]/Linux_CrossCompileToolChain/v11_clang-5.0.0-centos7 폴더를 열어 압축을 푼 파일을 확인합니다.

    클릭하면 원본 이미지를 확인합니다.

    지원 플랫폼

    다음 표에서 UE4 버전별 적합한 툴체인을 다운로드할 수 있습니다:

    아키텍처

    하위 아키텍처

    벤더

    시스템

    어플리케이션 바이너리 인터페이스 (abi)

    AArch64

    사용불가

    알 수 없음

    Linux

    gnueabi

    ARM

    사용불가

    알 수 없음

    Linux

    gnueabihf

    i686

    사용불가

    알 수 없음

    Linux

    gnu

    x86_64

    사용불가

    알 수 없음

    Linux

    gnu

    참고로 i686 플랫폼용 Engine 라이브러리는 아직 추가하지 않았습니다.

환경 변수 설정

  1. LINUX_MULTIARCH_ROOT 환경 변수 설정 전, Setup 배치 (Setup.bat) 파일을 실행하여 컴퓨터에 알맞는 환경 변수 세팅을 출력합니다.

    클릭하면 원본 이미지를 확인합니다.

  2. 이 시점에서, 새로운 OutputEnvVars 텍스트 파일이 v11_clang-5.0.0-centos7 폴더 안에 있을 것입니다.

    클릭하면 원본 이미지를 확인합니다.

    OutputEnvVars.txt 파일에는 시스템의 환경 변수 설정에 유용한 정보가 들어있습니다.

  3. Windows 키와 Pause Break 키를 눌러 시스템 정보 메뉴를 엽니다. 그리고 고급 시스템 세팅 링크를 클릭하여 고급 하위 메뉴를 엽니다. 시스템 속성 메뉴에 있습니다.

    클릭하면 원본 이미지를 확인합니다.

  4. 환경 변수... 버튼을 클릭합니다.

    LinuxXC_Step9.png

  5. 시스템 변수 를 새로 추가하려면, 시스템 변수 목록 아래 새로 만들기... 버튼을 클릭합니다.

    LinuxXC_Step10.png

    OutputEnvVars.txt 를 아직 열지 않았으면, 먼저 연 뒤 다음 단계로 넘어갑니다.

    클릭하면 원본 이미지를 확인합니다.

  6. 새 시스템 변수 대화창이 열리면, LINUX_MULTIARCH_ROOT 환경 변수 세팅을 새 시스템 변수 대화창 글상자에 복사합니다.

    클릭하면 원본 이미지를 확인합니다.

  7. 환경 변수 메뉴로 돌아온 뒤, 확인 버튼을 눌러 LINUX_MULTIARCH_ROOT 환경 변수를 저장합니다.

    LinuxXC_Step14.png

    참고로 이미 LINUX_ROOT 환경 변수를 설정한 경우 지울 필요가 없습니다. 엔진에서는 패키지 프로세스 도중 LINUX_ROOT 보다 LINUX_MULTIARCH_ROOT 를 우선시하기 때문입니다.

  8. 이제 확인 버튼을 클릭하여 시스템 속성 메뉴를 닫습니다.

    LinuxXC_Step15.png

    시스템에 새로운 환경 변수를 추가했으면, 현재 실행중인 Visual StudioCmd 창을 전부 닫고 재시작해야 합니다.

Linux 빌드 구성 셋업

전에 Linux용 프로젝트 패키징을 한 적이 없다면 다음 단계를 밟는 것이 좋습니다.

  1. cmd 창을 열고 [UE4 ROOT]/Setup.bat 를 실행시키면 Visual Studio 에서 UE4 를 빌드하는 데 필요한 필수 종속성을 확인, 업데이트, 설치해 줍니다.

    LinuxXC_Step17.png

  2. [UE4 ROOT]/GenerateProjectFiles.bat 를 실행하여 UE4 프로젝트 파일을 셋업합니다.

    LinuxXC_Step18.png

    GenerateProjectFiles.bat 파일은 반드시 UE4 가 들어있는 루트 ([UE4 ROOT]) 폴더 안에서 실행시켜야 합니다. Unreal Game Sync 로 배치 파일을 실행하면, Visual StudioBuild Configuration 에 Linux 가 유효한 것으로 나타나지 않습니다.

  3. [UE4 ROOT] 로 이동한 뒤 UE4.sln 을 더블클릭하여 Visual Studio 에서 UE4 솔루션을 엽니다.

    클릭하면 원본 이미지를 확인합니다.

  4. UE4 를 빌드한 적이 없는 경우, F5 키를 눌러 Visual Studio 에서 UE4 를 빌드하고 실행시킵니다.

    클릭하면 원본 이미지를 확인합니다.

  5. 이제 엔진 실행을 중지하고, Visual Studio 로 돌아가 Linux 솔루션 플랫폼을 선택합니다. Linux 빌드는 Ctrl+Shift+B 키조합으로 빌드할 수 있습니다.

    클릭하면 원본 이미지를 확인합니다.

    이 시점에서, Visual Studio 의 출력 창 안에 툴체인이 표시되는 것을 확인할 수 있습니다.

    클릭하면 원본 이미지를 확인합니다.

특정 플랫폼 타깃

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

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

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
TargetArchitecture=X86_64UnknownLinuxGnu

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

  • X86_64UnknownLinuxGnu

  • ArmUnknownLinuxGnueabihf

  • AArch64UnknownLinuxGnueabi

최종 결과

축하합니다! 앞으로 Linux용 프로젝트를 패키징하는 도중에는 크로스 컴파일 툴체인이 사용되는 것을 볼 수 있을 것입니다.

클릭하면 원본 이미지를 확인합니다.

태그