Software/ThirdParty/Guides/Epic/UnrealEngine
Revision as of 02:28, 21 August 2018 by TimothyPearson (talk | contribs)
Contents
Unreal Engine 4 on Debian Buster, OpenPOWER Edition
Required OS dependencies
clang-5.0 dos2unix autotools-dev automake cmake libtool libc++-dev libc++abi-dev libx11-dev libxext-dev libegl1-mesa-dev mesa-common-dev libgl1-mesa-dev libgles2-mesa-dev libglib2.0-dev libglu1-mesa-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libvulkan-dev libxcursor-dev libxt-dev libxi-dev libxv-dev libwebsockets-dev freeglut3-dev wayland-protocols x11proto-input-dev x11proto-randr-dev x11proto-scrnsaver-dev x11proto-xinerama-dev
Required OS setup
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-5.0 100 update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 100
Known Issues
- AMD GPUs have known bugs as of Q3 2018. While we expect these to be fixed over time, in the interim the kernel and mesa need to be patched to work properly[1].
- LLVMPipe cannot be used because it only exposes Shader Model 4 interfaces, while UE4/UT4 require Shader Model 5 or higher (or even Vulkan) to support their advanced rendering features.
Build Instructions
================================================================================= UE4 https://www.unrealengine.com/en-US/ue4-on-github Use POWER version from: https://github.com/kb9vqf/UnrealEngine ================================================================================= Build process: # Environment export TARGET_ARCH=powerpc64le-unknown-linux-gnu export UE4_ROOT_DIR=$PWD # Low level shared libraries and applications cd Engine/Source/ThirdParty/elftoolchain/build/Linux/libelf ./build_native cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/elftoolchain/build/Linux/libdwarf ./build_native cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/Breakpad/build/Linux ./BuildBreakpad.sh cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/zlib ../libcurl/BUILD.EPIC.sh cd OpenSSL/OpenSSL_1_0_2h ./config TARGET_ARCH= make depend TARGET_ARCH= make mkdir ../../../OpenSSL/1_0_2h/lib/Linux/${TARGET_ARCH} cp -Rp libcrypto.a ../../../OpenSSL/1_0_2h/lib/Linux/${TARGET_ARCH}/ cp -Rp libssl.a ../../../OpenSSL/1_0_2h/lib/Linux/${TARGET_ARCH}/ cd ../.. cd zlib/v1.2.8/build TARGET_ARCH= ./Build.sh mkdir ../lib/Linux/${TARGET_ARCH} cp -Rp libz.a ../lib/Linux/${TARGET_ARCH}/ cp -Rp libz_fPIC.a ../lib/Linux/${TARGET_ARCH}/ cd ../.. cd libcurl/curl-7_48_0 ./buildconf LDFLAGS=-L${PWD}/../../OpenSSL/OpenSSL_1_0_2h LD_LIBRARY_PATH=${PWD}/../../OpenSSL/OpenSSL_1_0_2h ./configure --with-zlib=${PWD}/../../zlib/v1.2.8 --with-ssl=${PWD}/../../OpenSSL/OpenSSL_1_0_2h --prefix=$PWD --enable-static --enable-shared --enable-threaded-resolver --enable-hidden-symbols --disable-ftp --disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-telnet --disable-tftp --disable-dict --disable-pop3 --disable-imap --disable-smtp --disable-gopher --disable-manual --disable-idn LDFLAGS=-L${PWD}/../../OpenSSL/OpenSSL_1_0_2h LD_LIBRARY_PATH=${PWD}/../../OpenSSL/OpenSSL_1_0_2h make mkdir ../../../libcurl/7_48_0/lib/Linux/${TARGET_ARCH} cp -Rp lib/.libs/libcurl.a ../../../libcurl/7_48_0/lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/FreeType2/FreeType2-2.6 cmake . make mkdir Lib/Linux/${TARGET_ARCH} cp -Rp libfreetype.a Lib/Linux/${TARGET_ARCH}/ cp -Rp libfreetype_fPIC.a Lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/libPNG/libPNG-1.5.2 cmake -DPNG_STATIC=ON . make mkdir lib/Linux/${TARGET_ARCH} cp -Rp libpng15.a lib/Linux/${TARGET_ARCH}/libpng.a cd $UE4_ROOT_DIR cd Engine/Source/Programs/BreakpadSymbolEncoder ./BuildBreakpadSymbolEncoderLinux.sh cp -Rp BreakpadSymbolEncoder ../../../Binaries/Linux/BreakpadSymbolEncoder cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/glslang/Build/Linux ./build.sh cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/MikkTSpace cmake . make mkdir lib/Linux/${TARGET_ARCH} cp -Rp libMikkTSpace.a lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/CEF3/cef_binary_3.2623.1395.g3034273_linux64 cp -Rp ../cef_source/cef_paths2.gypi . cd ../Build/Linux/ ./build.sh cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/VHACD/build/Linux mkdir ../../Lib/Linux/${TARGET_ARCH}/ make cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/libWebSockets/libwebsockets_src cmake . make mkdir -p ../libwebsockets/lib/Linux/${TARGET_ARCH}/Release/ cp -Rp lib/libwebsockets.a ../libwebsockets/lib/Linux/${TARGET_ARCH}/Release/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/ForsythTriOO cmake -DCMAKE_BUILD_TYPE=Release . make mkdir Lib/Linux/${TARGET_ARCH}/ cp -Rp libForsythTriOptimizer.a Lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/Kiss_FFT/kiss_fft129 mkdir -p Lib/Linux/Release/${TARGET_ARCH}/ cmake . make clean make cp -Rp ../Lib/Linux/Release/${TARGET_ARCH}/*.a Lib/Linux/Release/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/SpeedTree/SpeedTreeSDK-v7.0/Source/Core/Linux mkdir -p ../../../Lib/Linux/${TARGET_ARCH}/Release cp -Rp ../../../../Lib/Linux/${TARGET_ARCH}/Release/*.a ../../../Lib/Linux/${TARGET_ARCH}/Release/ cmake . make clean make cd $UE4_ROOT_DIR mkdir -p ThirdParty/Linux/LibCxx/lib/Linux/${TARGET_ARCH}/ cp -Rp /usr/lib/powerpc64le-linux-gnu/libc++.a ThirdParty/Linux/LibCxx/lib/Linux/${TARGET_ARCH}/ cp -Rp /usr/lib/powerpc64le-linux-gnu/libc++abi.a ThirdParty/Linux/LibCxx/lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/openexr/OpenEXR-1.7.1/ilmbase-1.0.3 dos2unix -ascii -f * cp -Rp /usr/share/misc/config.guess config.guess chmod +x configure ./configure make mkdir -p ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH} cp -Rp Half/.libs/libHalf.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ cp -Rp Iex/.libs/libIex.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ cp -Rp IexMath/.libs/libIexMath.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ cp -Rp IlmThread/.libs/libIlmThread.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ cp -Rp Imath/.libs/libImath.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ rm -rf ../../Deploy/include/OpenEXR mkdir -p ../../Deploy/include/OpenEXR cp -Rp ../../Deploy/include/*.h ../../Deploy/include/OpenEXR cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/openexr/OpenEXR-1.7.1/openexr-1.7.1 dos2unix -ascii -f * cp -Rp /usr/share/misc/config.guess config.guess chmod +x configure LDFLAGS="-L$PWD/../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/" ./configure --with-ilmbase-prefix=$PWD/../../Deploy make || true cp -Rp IlmImf/.libs/libIlmImf.a ../../Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/alembic mkdir build cd build cmake -DCMAKE_CXX_FLAGS="-fPIC -I/usr/include/OpenEXR -I/usr/include/hdf5/serial" -DILMBASE_INCLUDE_DIR="${UE4_ROOT_DIR}/Engine/Source/ThirdParty/openexr/Deploy/include/" -DILMBASE_ROOT="${UE4_ROOT_DIR}/Engine/Source/ThirdParty/openexr/Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/" -DILMBASE_VERSION="1.0.3" -DALEMBIC_HDF5_LIBS="-lhdf5_serial -lhdf5_serial_hl" -DALEMBIC_ILMBASE_LIBS="-lHalf -lImath -lIex" -DUSE_TESTS=OFF -DALEMBIC_NO_BOOTSTRAP=1 -DALEMBIC_NO_OPENGL=1 -DALEMBIC_SHARED_LIBS=OFF .. make mkdir -p ../../AlembicDeploy/Linux/lib/${TARGET_ARCH} cp -Rp lib/Alembic/libAlembic.a ../../AlembicDeploy/Linux/lib/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cp -Rp Engine/Source/ThirdParty/openexr/Deploy/lib/Linux/StaticRelease/${TARGET_ARCH}/*.a Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/AlembicDeploy/Linux/lib/${TARGET_ARCH}/ cp /usr/lib/powerpc64le-linux-gnu/hdf5/serial/libhdf5.a Engine/Plugins/Experimental/AlembicImporter/Source/ThirdParty/Alembic/AlembicDeploy/Linux/lib/${TARGET_ARCH}/hdf5.a # Header fixup cd Engine/Source/ThirdParty/zlib/v1.2.8/include/Linux/ cp -Rp x86_64-unknown-linux-gnu ${TARGET_ARCH} cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/OpenSSL/1_0_2h/include/Linux/ cp -Rp x86_64-unknown-linux-gnu ${TARGET_ARCH} cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/libcurl/7_48_0/include/Linux/ cp -Rp x86_64-unknown-linux-gnu ${TARGET_ARCH} cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/libWebSockets/libwebsockets/include/Linux/ cp -Rp x86_64-unknown-linux-gnu ${TARGET_ARCH} cd $UE4_ROOT_DIR # Mid level shared libraries and general setup ./Setup.sh ./GenerateProjectFiles.sh # ICU fixup cd Engine/Source/ThirdParty/ICU/icu4c-53_1/Linux/${TARGET_ARCH} mkdir lib mv *.a lib cd $UE4_ROOT_DIR # Opus fixup cd Engine/Source/ThirdParty/libOpus/opus-1.1 mkdir Linux/${TARGET_ARCH} cp -Rp .libs/libopus.a Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR # NVIDIA PhysX build mkdir -p Engine/Binaries/ThirdParty/PhysX3/Linux/${TARGET_ARCH}/ mkdir -p Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cd Engine/Source/ThirdParty/PhysX3/PhysX_3.4/Source/compiler/cmake/linux GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DCMAKE_BUILD_TYPE=Debug . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DCMAKE_BUILD_TYPE=Checked . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DCMAKE_BUILD_TYPE=Profile . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DCMAKE_BUILD_TYPE=Release . make cp -Rp *.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cp -Rp pxshared_bin/*.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/PhysX3/APEX_1.4/compiler/cmake/linux GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DPX_STATIC_LIBRARIES=1 -DAPEX_LINUX_SHARED_LIBRARIES=1 -DCMAKE_MODULE_PATH="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Externals/CMakeModules" -DPHYSX_ROOT_DIR="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/PhysX_3.4" -DAPEX_ENABLE_UE4=1 -DUSE_RESPONSE_FILES=1 -DCMAKE_BUILD_TYPE=Debug . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DPX_STATIC_LIBRARIES=1 -DAPEX_LINUX_SHARED_LIBRARIES=1 -DCMAKE_MODULE_PATH="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Externals/CMakeModules" -DPHYSX_ROOT_DIR="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/PhysX_3.4" -DAPEX_ENABLE_UE4=1 -DUSE_RESPONSE_FILES=1 -DCMAKE_BUILD_TYPE=Checked . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DPX_STATIC_LIBRARIES=1 -DAPEX_LINUX_SHARED_LIBRARIES=1 -DCMAKE_MODULE_PATH="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Externals/CMakeModules" -DPHYSX_ROOT_DIR="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/PhysX_3.4" -DAPEX_ENABLE_UE4=1 -DUSE_RESPONSE_FILES=1 -DCMAKE_BUILD_TYPE=Profile . make GW_DEPS_ROOT="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3" cmake -DPX_STATIC_LIBRARIES=1 -DAPEX_LINUX_SHARED_LIBRARIES=1 -DCMAKE_MODULE_PATH="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Externals/CMakeModules" -DPHYSX_ROOT_DIR="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/PhysX_3.4" -DAPEX_ENABLE_UE4=1 -DUSE_RESPONSE_FILES=1 -DCMAKE_BUILD_TYPE=Release . make cp -Rp *.a $UE4_ROOT_DIR/Engine/Binaries/ThirdParty/PhysX3/Linux/${TARGET_ARCH}/ cp -Rp *.so $UE4_ROOT_DIR/Engine/Binaries/ThirdParty/PhysX3/Linux/${TARGET_ARCH}/ cp -Rp physx_bin/pxshared_bin/*.so $UE4_ROOT_DIR/Engine/Binaries/ThirdParty/PhysX3/Linux/${TARGET_ARCH}/ cp -Rp *.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cp -Rp *.so $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cp -Rp physx_bin/*.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cp -Rp physx_bin/pxshared_bin/*.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cp -Rp physx_bin/pxshared_bin/*.so $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR cd Engine/Source/ThirdParty/PhysX3/NvCloth/compiler/cmake/linux cmake -DPX_STATIC_LIBRARIES=1 -DCMAKE_MODULE_PATH="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Externals/CMakeModules" -DPXSHARED_ROOT_DIR="$UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/PxShared" -DCMAKE_BUILD_TYPE=Profile . cp -Rp *.a $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ cd $UE4_ROOT_DIR # Fixup NVIDIA PhysX cd $UE4_ROOT_DIR/Engine/Source/ThirdParty/PhysX3/Lib/Linux/${TARGET_ARCH}/ mv libPhysX3CharacterKinematicCHECKED_x64.a libPhysX3CharacterKinematicCHECKED.a mv libPhysX3CharacterKinematicDEBUG_x64.a libPhysX3CharacterKinematicDEBUG.a mv libPhysX3CharacterKinematicPROFILE_x64.a libPhysX3CharacterKinematicPROFILE.a mv libPhysX3CharacterKinematic_x64.a libPhysX3CharacterKinematic.a mv libPhysX3CHECKED_x64.a libPhysX3CHECKED.a mv libPhysX3CommonCHECKED_x64.a libPhysX3CommonCHECKED.a mv libPhysX3CommonDEBUG_x64.a libPhysX3CommonDEBUG.a mv libPhysX3CommonPROFILE_x64.a libPhysX3CommonPROFILE.a mv libPhysX3Common_x64.a libPhysX3Common.a mv libPhysX3CookingCHECKED_x64.a libPhysX3CookingCHECKED.a mv libPhysX3CookingDEBUG_x64.a libPhysX3CookingDEBUG.a mv libPhysX3CookingPROFILE_x64.a libPhysX3CookingPROFILE.a mv libPhysX3Cooking_x64.a libPhysX3Cooking.a mv libPhysX3DEBUG_x64.a libPhysX3DEBUG.a mv libPhysX3GpuCHECKED_x64.a libPhysX3GpuCHECKED.a mv libPhysX3GpuDEBUG_x64.a libPhysX3GpuDEBUG.a mv libPhysX3GpuPROFILE_x64.a libPhysX3GpuPROFILE.a mv libPhysX3Gpu_x64.a libPhysX3Gpu.a mv libPhysX3PROFILE_x64.a libPhysX3PROFILE.a mv libPhysX3_x64.a libPhysX3.a mv libPxFoundationCHECKED_x64.so libPxFoundationCHECKED.so mv libPxFoundationDEBUG_x64.so libPxFoundationDEBUG.so mv libPxFoundationPROFILE_x64.so libPxFoundationPROFILE.so mv libPxFoundation_x64.so libPxFoundation.so mv libPxPvdSDKCHECKED_x64.a libPxPvdSDKCHECKED.a mv libPxPvdSDKDEBUG_x64.a libPxPvdSDKDEBUG.a mv libPxPvdSDKPROFILE_x64.a libPxPvdSDKPROFILE.a mv libPxPvdSDK_x64.a libPxPvdSDK.a mv libLowLevelAABBCHECKED_x64.a libLowLevelAABBCHECKED.a mv libLowLevelAABBDEBUG_x64.a libLowLevelAABBDEBUG.a mv libLowLevelAABBPROFILE_x64.a libLowLevelAABBPROFILE.a mv libLowLevelAABB_x64.a libLowLevelAABB.a mv libLowLevelCHECKED_x64.a libLowLevelCHECKED.a mv libLowLevelClothCHECKED_x64.a libLowLevelClothCHECKED.a mv libLowLevelClothDEBUG_x64.a libLowLevelClothDEBUG.a mv libLowLevelClothPROFILE_x64.a libLowLevelClothPROFILE.a mv libLowLevelCloth_x64.a libLowLevelCloth.a mv libLowLevelDEBUG_x64.a libLowLevelDEBUG.a mv libLowLevelDynamicsCHECKED_x64.a libLowLevelDynamicsCHECKED.a mv libLowLevelDynamicsDEBUG_x64.a libLowLevelDynamicsDEBUG.a mv libLowLevelDynamicsPROFILE_x64.a libLowLevelDynamicsPROFILE.a mv libLowLevelDynamics_x64.a libLowLevelDynamics.a mv libLowLevelParticlesCHECKED_x64.a libLowLevelParticlesCHECKED.a mv libLowLevelParticlesDEBUG_x64.a libLowLevelParticlesDEBUG.a mv libLowLevelParticlesPROFILE_x64.a libLowLevelParticlesPROFILE.a mv libLowLevelParticles_x64.a libLowLevelParticles.a mv libLowLevelPROFILE_x64.a libLowLevelPROFILE.a mv libLowLevel_x64.a libLowLevel.a mv libPhysX3ExtensionsCHECKED_x64.a libPhysX3ExtensionsCHECKED.a mv libPhysX3ExtensionsDEBUG_x64.a libPhysX3ExtensionsDEBUG.a mv libPhysX3ExtensionsPROFILE_x64.a libPhysX3ExtensionsPROFILE.a mv libPhysX3Extensions_x64.a libPhysX3Extensions.a mv libPhysX3VehicleCHECKED_x64.a libPhysX3VehicleCHECKED.a mv libPhysX3VehicleDEBUG_x64.a libPhysX3VehicleDEBUG.a mv libPhysX3VehiclePROFILE_x64.a libPhysX3VehiclePROFILE.a mv libPhysX3Vehicle_x64.a libPhysX3Vehicle.a mv libSceneQueryCHECKED_x64.a libSceneQueryCHECKED.a mv libSceneQueryDEBUG_x64.a libSceneQueryDEBUG.a mv libSceneQueryPROFILE_x64.a libSceneQueryPROFILE.a mv libSceneQuery_x64.a libSceneQuery.a mv libSimulationControllerCHECKED_x64.a libSimulationControllerCHECKED.a mv libSimulationControllerDEBUG_x64.a libSimulationControllerDEBUG.a mv libSimulationControllerPROFILE_x64.a libSimulationControllerPROFILE.a mv libSimulationController_x64.a libSimulationController.a mv libPsFastXmlCHECKED_x64.a libPsFastXmlCHECKED.a mv libPsFastXmlDEBUG_x64.a libPsFastXmlDEBUG.a mv libPsFastXmlPROFILE_x64.a libPsFastXmlPROFILE.a mv libPsFastXml_x64.a libPsFastXml.a mv libPxTaskCHECKED_x64.a libPxTaskCHECKED.a mv libPxTaskDEBUG_x64.a libPxTaskDEBUG.a mv libPxTaskPROFILE_x64.a libPxTaskPROFILE.a mv libPxTask_x64.a libPxTask.a cd $UE4_ROOT_DIR # Build engine make # Build engine make