VisualStudio内容虚幻引擎4(UE4)通过UnrealBuildTool使用自定义构建方法

VisualStudio内容虚幻引擎4(UE4)通过UnrealBuildTool使用自定义构建方法

视窗

苹果系统

Linux

本页内容

虚幻引擎 4 (UE4) 通过 UnrealBuildTool 使用自定义构建方法,该方法可以处理编译项目以及将项目与引擎关联的所有复杂问题。 该过程是透明进行的,因此您只需通过标准 Visual Studio 构建工作流程即可构建项目。

UnrealBuildTool 使用 .Build.cs 和 .Target.cs 文件来构建游戏项目。 当您执行以下操作时,会自动生成这些文件: 使用 C++ 模板创建项目; 或者使用 CPP 类向导将代码添加到使用“仅蓝图”模板创建的项目中。

构建配置

Unreal 项目具有由 *.target.cs 文件描述的多个目标(编辑器、客户端、游戏和服务器),每个目标都可以使用不同的配置进行构建。 在 Visual Studio 中,这显示为“*.vcxproj”文件,为每个目标安排不同的配置。 解决方案配置的命名约定为[配置][目标类型](例如,“DevelopmentEditor”指默认编辑器目标,“Development”指默认独立游戏目标)。 您使用哪种配置取决于您要创建的构建的目的。

每个构建配置包含两个关键字。 第一个代表引擎状态和游戏项目。 例如,如果您使用“调试”配置进行编译3D动画,您将能够调试游戏代码。 第二个关键字代表构建目标。 例如,如果您想在Unreal中打开项目,则需要使用Editor target关键字来构建它。

构建配置 - 状态

阐明

调试

此配置包含用于调试的符号。 此配置在调试配置中构建引擎和游戏代码。 如果您使用“调试”配置编译项目并计划使用虚幻编辑器打开该项目,则必须使用“-debug”标志来查看项目中反映的代码更改。

调试游戏(DebugGame)

此配置以最佳方式构建引擎,但使游戏代码可调试。 此配置适合调试游戏模块。

发展

此配置启用除最耗时的引擎和游戏代码优化之外的所有功能。 从开发和性能的角度来看,这是最理想的配置。 虚幻编辑器默认为开发配置。 如果使用Development配置来编译项目,则可以在编辑器中看到项目代码的变化。

船运

这是交付游戏的最佳性能配置。 此配置去掉了控制台命令、统计数据和性能分析工具。

测试

此配置是启用一些控制台命令、统计和性能分析工具后的出厂配置。

构建配置 - 目标

阐明

[空的]

此配置构建项目的独立可执行版本,但需要特定于平台的烘焙内容。 请参阅我们的包装项目参考页面,了解有关烘焙的更多信息。

编辑

为了能够在虚幻编辑器中打开项目并查看反映的所有代码更改,必须使用编辑器配置构建项目。

客户

如果您将 UE4 网络功能用于多人游戏项目,则此目标指定该项目用作多人游戏的 UE4 客户端-服务器模型中的客户端。 如果 `Client.Target.cs` 文件存在,则 **Client** 构建配置将有效。

服务器

如果您将 UE4 网络功能用于多人游戏项目,则此目标指定该项目用作多人游戏的 UE4 客户端-服务器模型中的服务器。 如果 `Server.Target.cs` 文件存在,则 **Server** 构建配置将有效。

使用 Visual Studio 构建配置构建设置

可以在 Visual Studio 工具栏中设置构建配置。

项目 - 配置菜单

搭建解决方案平台

解决方案平台可以在Visual Studio工具栏中设置。

UE4目前支持以下平台:

使用虚幻引擎 4 时,通常使用 Win64 平台。 这是生成项目文件时默认包含的唯一平台; IDE 的项目文件页面包含为其他平台生成项目文件的说明。

构建项目

在继续之前程序开发,请确保您正在运行适用于已安装的 Windows 桌面版本的 Visual Studio 2015 或更高版本。 如果使用 Mac,请确保安装了 Xcode 9.0 或更高版本。

将解决方案配置设置为您要构建的配置。 在此示例中,它设置为“开发编辑器”。 请参阅 参考资料 部分,了解每种可用配置的描述。

右键点击游戏项目,选择Rebuild重新编译。

rebuild_project_outside.png

您现在可以通过以下方式编译您的项目

[运行引擎](基础知识/PIE/运行UnrealEngine)

运行引擎时,您必须使用与用于重建项目的构建配置相匹配的虚幻引擎可执行文件。 例如,如果使用 DebugGame Uncooked 构建配置编译项目,则在运行“UE4-Win64-DebugGame.exe”可执行文件时应将游戏信息作为参数传递。 有关二进制命名约定的更多信息,请参阅构建虚幻引擎页面。

运行 Unreal 时,如果您在任何 Uncooked 配置中重建项目,则必须添加 -game 标志;如果您在 Debug 配置中重建项目,则必须添加 -debug 标志。 `标志。

Visual Studio 已知问题

问题

解决方案

总是出现“项目已过期”消息

Visual Studio 认为该项目已过时,但该项目实际上是最新的。 您可以通过选中“不再显示此对话框”框并按“否”来安全地抑制此消息。

使用 _Debug_Configuration 时出现 **无调试信息** 窗口

原因是UE4editor.exe是用_Development配置编译的。 尽管使用调试配置编译时出现此警告,但游戏项目仍然可以调试。 您可以通过选中“不再显示此对话框”框并按“是”来安全地抑制此消息。

使用 Xcode 构建

在 Xcode 中构建时,您只编译游戏项目,而不编译编辑器。

编译项目:

如果您使用 Xcode 的“产品”>“构建”选项,虚幻引擎 Xcode 项目将配置为构建“调试”配置; 如果您使用 Product > Build For > Profiling ,则构建“开发”配置。 您可以通过编辑目标方案来编辑​​此行为。

您现在可以通过以下方式编译您的项目

[运行引擎](基础知识/PIE/运行UnrealEngine)

运行二进制编辑器时游戏引擎编辑器,如果要在任何 Uncooked 配置或调试配置中重建项目游戏引擎编辑器,则必须添加 -game 标志。 -debug`标志。

Xcode 已知问题

问题

解决方案

Xcode 不会在断点处停止

需要配置 Xcode 的 LLDB 调试器才能正确处理虚幻引擎项目中的断点。 您需要在主目录中创建一个 .lldbinit 文件(如果已有,请进行编辑)并添加以下行:

settings set target.inline-breakpoint-strategy always

文章来源:https://docs.unrealengine.com/4.26/zh-CN/ProductionPipelines/DevelopmentSetup/CompilingProjects/