I tried to cross compil for arm Linux. I follow this tutorial [link text][1] but, after edit the UEBuildLinux.cs files and un-comment “static private string DefaultArchitecture = “arm-unknown-linux-gnueabihf”;”, I have an issue with the files GenerateProjectFiles.bat.
I have these messages :
Linux\UEBuildLinux.cs(22,25): error CS0122: ‘LinuxPlatform.DefaultArchitecture’ est inaccessible en raison de son nivea
u de protection [D:\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
Linux\UEBuildLinux.cs(377,55): error CS0122: ‘LinuxPlatform.DefaultArchitecture’ est inaccessible en raison de son nive
au de protection [D:\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
Linux\UEBuildLinux.cs(379,127): error CS0122: ‘LinuxPlatform.DefaultArchitecture’ est inaccessible en raison de son niv
eau de protection [D:\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
Linux\UEBuildLinux.cs(207,31): warning CS0414: Le champ ‘LinuxPlatform.DefaultArchitecture’ est assigné, mais sa valeur
n’est jamais utilisée [D:\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj]
was cross-compiling for ARM fixed in 4.14?
I have 4.14 and I can’t package the project, already followed all the steps in the wiki page, and I have clang-3.5-arm installed.
I’m using the binary version (from the Epic Launcher).
I keep getting redirected to the wiki “get started with linux” page.
For 4.14, cross-compiling for ARM has been fixed. However you should use not the old clang-3.5-based separate cross-toolchain, but v8 toolchain that has support for all architectures.
In 4.15, compiling for different architectures became even easier. Now it is a matter of changing TargetArchitecture setting in your project’s DefaultEngine.ini.
There was never a need to change .Target.cs file for the architecture. In 4.13 and 4.14 you would have to change UBT (UEBuildLinux.cs), in 4.15 you change TargetArchitecture in DefaultEngine.ini of your project (section [/Script/LinuxTargetPlatfrom.LinuxTargetSettings])
Hi,
Thank you for your answer!
I followed your instructions, finally got it to package the project. However, the generated file is probably still in x86-64 and not ARM64 (I can’t run it on Linux ARM64, and when I look at the properties, it says the file is x86-64).
When you wrote “Rebuild the Linux binary”, did you mean to package the project again?
I’m using the 4.15 version from Epic Games Launcher (don’t know if it matters or not)
Hello, i also want to take a Linux-arm64 package, but have some errors. like …\ Engine\Source\ThirdParty\4147\Include\third_party\abseil-cpp\absl\strings\string_view.h: fatal error: absl/base/config.h file not found。 I tried at UE4.27, why have that errors?