我正在尝试在Linux上构建我的第一个虚幻C++项目。
我根据"Linux Quick Start“指南从源代码构建了这个引擎。然后,我安装了Qt Creator,并按照"How to Set up Qt Creator for UE4“指南操作。
我成功地设置并运行了UE4Editor,并创建了一个新的C++项目。不幸的是,当我尝试运行该项目时,它会抱怨:

当我按下"yes“时,会显示以下错误消息:

以下是日志中的错误消息:
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我试着从集成开发环境中重新构建UE4,然后重新构建-但错误仍然存在。如果我尝试从引擎文件启动UE4Editor并从那里打开项目,也会发生同样的事情。
导致此错误的原因是什么?当我尝试运行一个项目时,它为什么还要尝试重建引擎呢?
发布于 2021-04-25 21:50:51
我使用以下脚本将引擎脚本的路径和二进制文件添加到我的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然后,我从我的项目目录中运行UE4Editor '/absolute/path/to/project.uproject'。
我从不在引擎的源码树中创建项目。路径绝对应该是不同的。
我使用VS-Code作为IDE。根据我的经验,这是最有效的方法。QT-Creator只有在创建一个包含大量#define的包含文件时才会起作用,这些文件是由unreal创建的.pro文件中缺少的。
您可以通过安装C#和C/C++ extensions来配置VS-Code,使其具有类似智能的完成功能。为了让OmniSharp正常工作,我必须安装mono (这是处理VS代码自动补全的服务器)。下面是我的VS代码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",您还可以安装C++ Helper扩展,它对于创建方法、类等非常有用。
https://stackoverflow.com/questions/67233814
复制相似问题