UE4源码编译 failed to open/create XGE(incredible build工具)

Unreal Engine

C++项目编译失败,UnrealBuildTool项目添加ShaderCompileWorker Win64 Development -waitmutex参数,调试后发现报错的原因是
incredible build的工具xgconsole调用失败,在控制面板删除/卸载后运行正常。(直接禁用vs插件不行)

unrealbuildTool

内部参数不能用作项目名称
如:TEST、MODULE、MODULEWITHSUFFIX、PLUGIN、RECEIPT、DEBUG、DEBUGGAME、DEVELOPMENT、SHIPPING、
-DEFINE、-REMOTEROOT、-NOEDITOR、-NOEDITORONLYDATA、-DEPLOY、-PROJECTFILES、-XCODEPROJECTFILE、-MAKEFILE、-CMAKEFILE、-QMAKEFILE、-KDEVELOPFILE、-CODELITEFILE、-EDITORRECOMPILE、-PRECOMPILE、-USEPRECOMPILED等,(很坑的命令)
否则项目编译失败:
如:error : Couldn’t find target rules file for target ‘D:\UE4_14\test\test.uproject’ in rules assembly 'UE4Rules, Version=0.0.0.0, Culture=neutral, 错误。

unrealheaderTool

主要负责预编译生成makefile文件,包括Target.cs配置和uproject文件(json格式,格式不正确,unrealbuildTool不一定能检测到,可能出现命令提示CrashOrAssert错误)

UE4编译插件

编辑插件,需要关闭ueeditor,否则UeEditor-**.lib生成失败。

UE4在C++编译开始前,使用工具UnrealHeaderTool,对C++代码进行预处理,收集出类型和成员等信息,并自动生成相关序列化代码。然后再调用真正的C++编译器,将自动生成的代码与原始代码一并进行编译,生成最终的可执行文件

the following modules are missing or built with a different engine version

Ue4通过Binaries\UE4Editor.modules文件判断版本,UE4Editor.modules中BuildId保持和Plugin中一致(确保ue4editor都关闭了,ue4editor已打开版本可能和正在编译版本不一致)

你可能感兴趣的:(开发随笔)