Mac 编译 Unreal 源码版本

news/2024/10/18 13:40:05 标签: ue5

Mac M3 Pro、XCode 16.0、Unreal 5.4

流程

分享下我本地操作的全流程和遇到的问题

  • 安装 XCode
  • GithubDesktop 克隆自己 Fork 的仓库
  • 运行 Setup.command
  • 运行 GenerateProjectFiles.command
    • 出现警告:Platform Mac is not a valid platform to build. Check that the SDK is installed properly and that you have the necessary platorm support files
    • 造成的问题为 XCode 打开后没有项目
    • 原因:Engine/Config/Apple/Apple_SDK.json 内限制了 XCode 的版本为 15.9.0,但是本地的版本为 16.0.0
    • 解决办法:修改 json 内的 MaxVersion 为 16.0.0 即可
{
	// Xcode versions
	"MainVersion": "14.1",
	"MinVersion": "14.1.0",
	"MaxVersion": "15.9.0",

	// The versions on Windows are iTunes versions
	"MinVersion_Win64": "1100.0.0.0",
	"MaxVersion_Win64": "8999.0"
}
  • 打开 UE5 (Mac).xcworkspace
  • XCode 上方栏内的目标项目改为 UnrealEditor
  • 菜单栏 - Product - Build
  • 左侧项目目录界面的右侧可以查看日志
    在这里插入图片描述
  • 然后就是漫长的编译了,编译慢的一批
  • 编译后就可以Run了,跑编辑器,后续流程同Windows
    在这里插入图片描述
  • 原有项目的.uproject 右键 switch engine version
  • 然后 generate xcode project,我这边没有用,改用命令行后才成功:
sh "/Users/XXX/Documents/Projects/UnrealEngine/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh" -project="/Users/XXX/Documents/Projects/XXX/XXX.uproject" -game
  • XCode 上方栏内的目标项目改为 XXXEditor,编译运行即可

编译问题

declaration shadows a field of 'XXX' [-Werror,-Wshadow]

implicit capture of 'this' with a capture default of '=' is deprecated [-Werror,-Wdeprecated-this-capture]

encoding prefix 'u' on an unevaluated string literal has no effect and is incompatible with c++2c [-Werror,-Winvalid-unevaluated-string]

第一个问题:

// Engine/Source/Programs/UnrealBuildTool/ToolChain/ClangWarnings.cs

if (CompileEnvironment.ShadowVariableWarningLevel != WarningLevel.Off)
{
	// Arguments.Add("-Wshadow" + ((CompileEnvironment.ShadowVariableWarningLevel == WarningLevel.Error) ? "" : " -Wno-error=shadow"));
}

第二个问题:

https://www.emmtrix.com/wiki/Clang:Diag/warn_deprecated_this_capture
C++20 不在允许隐式捕获this,加一下就好了:

[=, this]

第三个问题:

https://github.com/llvm/llvm-project/issues/64711
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2741r3.pdf

把static_assert内的TEXT宏去掉即可


http://www.niftyadmin.cn/n/5711263.html

相关文章

VsCode 如何自定义代码片段(Code Snippet)

前言 在现代前端开发中,提高工作效率是每个开发者的追求。Visual Studio Code(Vscode)作为一款强大的代码编辑器,提供了许多让开发者高效编程的功能,其中自定义代码片段(Code Snippet)便是一个…

http://localhost:8080要求用户输入用户名和密码,解决方法!

我们在Eclipse配置Tomcat,测试Tomcat是否配置完成的时候会遇到这样的问题 解决方法: 方法1、修改Tomcat的配置。找自己安装tomcat的目录,打开conf文件夹,找到server.xml,进行修改。 建议用VS code打开修改方便&#x…

贪心算法简记

一、概念 贪心算法的理念是每步都选择局部最优解,最终得到的全局最优解。 贪心算法的特点是实现起来很容易,运行速度快,得到的结果又与正确结果相当接近。 贪心算法可以认为是一种近似算法 二、一般步骤 (1) 选出当…

【人工智能】实验室GPU资源申请使用

实验室独占实例Ubuntu 20.04 配置 Pytorch GPU 一、换源 1. 备份原来的文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup2. 编辑vi /etc/apt/sources.list文件 vim /etc/apt/sources.list3. 将内容全部替换为下面 # 默认注释了源码镜像以提高 apt update…

如何使用C#实现Padim算法的训练和推理

目录 说明 项目背景 算法实现 预处理模块——图像预处理 主要模块——训练:Resnet层信息提取 主要模块——信息处理,计算Anomaly Map 主要模块——评估 主要模块——评估:门限值的确定 主要模块——推理 写在最后 项目下载链接 说…

软考中级考试入门学习,超详细知识点总结

章节目录 计算机组成与体系结构操作系统基本原理数据库系统计算机网络系统安全分析与设计数据结构与算法基础程序设计语言与语言处理程序基础法律法规多媒体基础软件工程面向对象系统设计 1. 计算机组成与体系结构 重点详细内容知识点总结 数据表示:包括进制转换…

8-基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台

1、板卡概述 板卡由我公司自主研发,基于6UCPCI架构,处理板包含双片TI DSP TMS320C6678芯片;一片Xilinx公司FPGA XC7K420T-1FFG1156 芯片;六个千兆网口(FPGA两个,DSP四个);DSP与FPGA之…

Android Studio简易项目|随机选择器(类似转盘)

一、背景 为了强化对flowlayout流式布局的理解和简易安卓项目架构结构的理解&#xff0c;写一个小项目&#xff0c;随机选择器&#xff0c;控制可见等 二、项目代码 2.1流式布局 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns…