UE4在Windows系统下交叉编译Linux环境 |
您所在的位置:网站首页 › ue4打包错误 › UE4在Windows系统下交叉编译Linux环境 |
仅记录自己在交叉编译的过程中遇到的问题。 本文参考了youtube上的英文教程,可以自行观看。以及另一篇学习笔记。 环境:UE4.16,Windows 10,VS2017 1、在官方网站文档下载对应版本的工具链,并安装程序包。可以通过网页下方的“故障排除”验证是否成功安装。 *一些教程中说需要设置环境变量,事实上现在并不需要设置。 2、在github上下载官方提供的源码,目前最新的版本是UE5,如果需要下载历史版本的源码,可以用链接 https://github.com/EpicGames/UnrealEngine/tree/4.16 访问,其中4.16替换为自己需要的版本。 *访问以上github项目需要先将自己UnrealEngine账号与github账号连接,操作方法: 进入官方网站并登录自己的账号,在右上角账号名处,依次选择“个人”,“连接”,连接成功后的截图。 3、下载源码并解压,在cmd中当前目录,并依次执行两个命令: Setup.bat *会下载 几十G 左右的内容 GenerateProjectFiles.bat -2017 *2017为对应的Visual Studio的版本,需要的版本可以在上方github源码的说明中查看。 *踩坑1:error MSB4019:未找到导入的项目 “VS安装路径\MSBuild\15.0\bin\Roslyn\Microsoft.CSharp.Core.targets”。请确认声明中的路径正确,且磁盘上存在该文件。 *原因:安装VS时未安装.NET相关的组件。 *解决方法:打开VS,在菜单栏选择工具 --> 获取工具和功能,为 .NET desktop development 打勾并安装。当时我安装了好几个包,解决方法可参考官方论坛。 命令执行完毕后,会在文件夹中生成UE4.sln文件。 4、打开UE4.sln,选择 "Development Editor","Win64",右键UE4选择"生成"。 *这一步相当耗时与磁盘空间。刚开始我编译的UE5,耗时至少十几小时并且磁盘占用100G+,磁盘空间不够,最后编译了UE4。UE4在此步占用磁盘空间几十G,耗时若干小时。 *踩坑2:C2039 “SetPipelineState”: 不是“FD3D12StateCacheBase”的成员 error MSB3075: 命令 "..\..\Build\BatchFiles\Build.bat UE4Editor Win64 Development -waitmutex -2017" 已退出,代码为5。请验证您是否拥有运行此命令的足够权限。 *过程:刚开始只搜索了MSB3075的错误原因,大部分资料说明要用管理员权限打开VS,但并没有解决。在编译Linux的时候无此错误,只在编译Win64的时候有此错误。最终根据错误信息C2039 在官方论坛上找到了对应的解决方案。 *解决方法:在VS中点击错误信息,打开D3D12StateCachePrivate.h文件,在716行, 将 D3D12_STATE_CACHE_INLINE void FD3D12StateCacheBase::SetPipelineState(FD3D12PipelineState* PSO) 修改为 D3D12_STATE_CACHE_INLINE void SetPipelineState(FD3D12PipelineState* PSO) 即删除 “FD3D12StateCacheBase::”。这个可能是我特定版本遇到的错误。 5、打开自己的项目文件(.uproject),右键,选择 "Switch Unreal Engine version ...",并按下图所示选择源码编译的UE4所在的路径。 6、此时打开自己的项目文件,便可把项目打包到Linux平台了。 *踩坑3:UnrealBuildTool: ERROR: Unable to determine module type for D:\...\Source\\.Build.cs 提示打包项目失败,点击 "Show Output Log" 才在后面看到这个错误信息(不是最后一行并且没有特殊颜色标注) *原因:.uproject 设置缺失 *解决方法:右键项目文件(.uproject),选择打开方式,选择记事本,添加以下信息: "Modules": [ { "Name": "", "Type": "Runtime", "LoadingPhase": "Default", "AdditionalDependencies": [ "Engine" ] } ], 其中需要替换为自己的项目名。此时重新打开项目文件会加载一段时间。该方法参考官方论坛。 *早期项目文件提示打不开,我自己删除了上述信息结果打开了,现在要加回来 -.- |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |