如何在 Linux 上构建和运行 Unreal C++ 项目?

Rog*_*ach 5 c++ unreal-engine4

我正在尝试在 Linux 上构建我的第一个 Unreal C++ 项目。

我按照“ Linux 快速入门”指南从源代码构建了引擎。然后我安装了 Qt Creator 并按照“如何为 UE4 设置 Qt Creator ”指南进行操作。

我成功设置并运行了 UE4Editor,并创建了一个新的 C++ 项目。不幸的是,当我尝试运行该项目时,它抱怨:

在此输入图像描述

当我按“是”时,会显示此错误消息:

在此输入图像描述

这是日志中的错误消息:

ERROR: Building would modify the following engine files:
       
       /media/redacted-disk/UnrealEngine/Engine/Binaries/Linux/Android/UE4Editor.modules
       /media/redacted-disk/UnrealEngine/Engine/Binaries/Linux/Linux/UE4Editor.modules
       /media/redacted-disk/UnrealEngine/Engine/Binaries/Linux/UE4Editor.modules
       /media/redacted-disk/UnrealEngine/Engine/Plugins/2D/Paper2D/Binaries/Linux/UE4Editor.modules
       /media/redacted-disk/UnrealEngine/Engine/Plugins/AI/AISupport/Binaries/Linux/UE4Editor.modules
      ... many more
Run Code Online (Sandbox Code Playgroud)

我尝试从 IDE 重建 UE4,然后再次构建 - 但错误仍然存​​在。如果我尝试从引擎文件启动 UE4Editor 并从那里打开项目,也会发生同样的情况。

什么可能导致此错误?当我尝试运行项目时,为什么它甚至尝试重建引擎?

fja*_*don 4

我有以下脚本将引擎脚本和二进制文件的路径添加到我的PATH

UNREAL_HOME="/path/to/source/of/UnrealEngine"
UNREAL_SCRIPTS="${UNREAL_HOME}/Engine/Build/BatchFiles"
UNREAL_SCRIPTS_LINUX="${UNREAL_HOME}/Engine/Build/BatchFiles/Linux"
UNREAL_BINS="${UNREAL_HOME}/Engine/Binaries/Linux"
PATH="${PATH}:${UNREAL_BINS}:${UNREAL_SCRIPTS}:${UNREAL_SCRIPTS_LINUX}"
export PATH
Run Code Online (Sandbox Code Playgroud)

UE4Editor '/absolute/path/to/project.uproject'然后我从我的项目目录中运行。

我从来没有在引擎的源代码树中创建项目。路径应该绝对不同。

我使用 VS-Code 作为 IDE。根据我的经验,这是最有效的。仅当您创建的包含文件中包含许多虚幻创建的文件#define中缺少的文件时,QT-Creator 才会起作用。.pro

C#您可以通过安装和来将 VS-Code 配置为具有类似智能感知的补全功能C/C++ extensions。我必须安装mono才能开始OmniSharp工作(这是处理 VS-Code 自动完成的服务器)。以下是我的 VS-Code settings.json 文件的摘录:

"omnisharp.path": "/home/myuser/.vscode/extensions/ms-dotnettools.csharp-1.23.9/.omnisharp/1.37.6/omnisharp/OmniSharp.exe",
"omnisharp.monoPath": "/usr/bin/mono",
Run Code Online (Sandbox Code Playgroud)

您还可以安装C++ Helper对于创建方法、类等有用的扩展。