当前位置: 首页 > news >正文

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中,我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中,有 -skipbuild、 -nocompile 两个很像的参数,于是想探究一下它们的区别与含义。

-skipbuild 参数

到底有没有 -skipbuild 这个参数?根据 https://blog.csdn.net/u010385624/article/details/89916184 的介绍,有skip这个参数,但没有搜索到 -skipbuild 这个参数。我们可以在 AutomationTool.ProjectParams 看到所有的命令行传参,其中只有

CommandUtils.LogLog("Build={0}", Build);

CommandUtils.LogLog("SkipBuildClient={0}", SkipBuildClient);

CommandUtils.LogLog("SkipBuildEditor={0}", SkipBuildEditor);

但是,在这里发现了有skipbuild开关。

this.Build = GetParamValueIfNotSpecified(Command, Build, this.Build, "build");
bool bSkipBuild = GetParamValueIfNotSpecified(Command, null, false, "skipbuild");
if (bSkipBuild)
{this.Build = false;
}

验证方式:如果同时传 -skipbuild 和 -build ,就会发现后文中的 Project.Build 无法进入到Build方法中。

-build 开关的含义

AutomationTool.ProjectParams.Build

作用1:AutomationTool.ProjectParams.AutodetectSettings

else if (!this.Build) // 如果不选build,那么就自动重置Target
{var ShortName = ProjectUtils.GetShortProjectName(RawProjectPath);GameTarget = Client ? (ShortName + "Client") : ShortName;EditorTarget = ShortName + "Editor";ServerTarget = ShortName + "Server";
}

作用2:一个限制验证(AutomationTool.ProjectParams.Validate),具体含义暂不解释。

if (Build && !HasCookedTargets && !HasEditorTargets && !HasProgramTargets)
{throw new AutomationException("-build is specified but there are no targets to build.");
}

作用3:决定了是否运行 Project.Build。对应的日志是:

********** BUILD COMMAND STARTED **********

调试时的注意事项

根据我之前写的博文(UE4如何调试BuildCookRun_ue 的 automationtool如何debug-CSDN博客), UAT的调试对应的是:

要注意,只有BuildCookRun命令才有ProjectParams的解析,而UBT的调试中,不会涉及ProjectParams 的解析,因此调试时不要断点到那里去了。

未完待续

http://www.lryc.cn/news/446836.html

相关文章:

  • k8s篇之数据挂载类型及区别
  • LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大
  • fetch怎么使用
  • 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测
  • 光耦知识分享:如何挑选合适的可控硅光耦型号
  • MySql Explain优化命令使用
  • Android NestedScrollView+TabLayout+ViewPager+ 其它布局,ViewPager 不显示以及超出屏幕不显示问题
  • Linux开机logo设置
  • webpack插件开发 模拟vue系统登录后,获取a标签下的文件
  • 大规模数据处理:分库分表与数据迁移最佳实践
  • TCP网络编程概述、相关函数、及实现超详解
  • Cluade 3.5 Sonnet 提示词泄露
  • git clone代码报错Permission denied (publickey)
  • QT设计中文输入法软键盘DLL给到C#开发步骤
  • 使用 Rust 和 wasm-pack 开发 WebAssembly 应用
  • 1. IP地址介绍
  • 喜报来袭~又有一波优秀企业选择Smartbi
  • Web端云剪辑解决方案,BS架构私有化部署,安全可控
  • AI 代码助手插件推荐
  • word中的表格全部设置宽度100%
  • JFinal整合Websocket
  • (done) 声音信号处理基础知识(7) (Understanding Time Domain Audio Features)
  • 拓数派荣获上海数据交易所“数据治理服务商”认证
  • 【Redis】分布式锁之 Redission
  • 对象序列化
  • 什么是专利开放许可?
  • 地表最强开源大模型!Llama 3.2,如何让你的手机变身私人智能助理
  • Pandas中DataFrame表格型数据结构
  • C++的智能指针
  • 微信小程序showLoading ,showToast ,hideLoading连续调用出现showLoading 不关闭的情况记录