前言
最近在试 KBEngine 的 ue4 项目,它在 ue4 下能够正常编译使用,但是现在都已经进入 ue5 时代,那么能不能将现有工程移到 ue5 下呢?
使用 ue5 打开工程的报错处理
1、DefaultBuildSettings = BuildSettingsVersion.V5;
kbengine_ue4_demoEditor.Target.cs下添加这行代码,如下图
2、IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
kbengine_ue4_demoEditor.Target.cs下添加这行代码,如下图
3、bOverrideBuildEnvironment = true;
kbengine_ue4_demoEditor.Target.cs下添加这行代码,如下图
4、插件的 Scripts 里的文件报错,找不到 Engine/KBECommon.h 文件
将路径前加上 KBEnginePlugins。
5、“seg”的声明隐藏了上一个本地声明
将 seg 改个名字
6、“una”的声明隐藏了上一个本地声明
同上
7、“size”的声明隐藏了上一个本地声明
同上
8、无法打开包括文件:“Object.h”
9、无法打开源文件:“FileHelper.h”
无法打开源文件:“Paths.h”
无法打开源文件:“PlatformFilemanager.h”
10、无法打开源文件:“ModuleMantager.h”
11、无法打开源文件:“AllowWindowsPlatformTypes.h”
12、无法打开包括文件: “Regex.h”
13、无法用 “double” 类型的值初始化 “float &” 类型的引用
将所有的FVector 替换为FVector3f
14、”modelID”的声明隐藏了上一个本地声明
15、无法打开包括文件: “Kismet/HeadMountedDisplayFunctionLibrary.h”
将头文件注释掉,同时注释以下代码
16、“UE::Math::TTransform::TTransform”: 12 个重载中没有一个可以转换所有参数类型
17、FVector3与FVector类型不一致问题
使用插件方式
1、运行服务器项目下的 :gensdk.bat,生成 kbengine_ue4_plugins
2、先在UE项目中新建一个Plugins文件夹,并且将上步骤生成的SDK复制到此文件夹中。
3、右键.uproject文件 -> generate visual studio project file;
4、vs打开工程, 打开项目名.Build.cs,往PrivateDependencyModuleNames添加"KBEnginePlugins"
PrivateDependencyModuleNames.AddRange(new string[] { "KBEnginePlugins" });
5、再打开uproject文件,添加插件
{
"FileVersion": 3,
"EngineAssociation": "5.4",
"Category": "",
"Description": "",
"Modules": [
{
"Name": "kbengine_ue4_demo",
"Type": "Runtime",
"LoadingPhase": "Default",
"AdditionalDependencies": [
"Engine"
]
}
],
"Plugins": [
{
"Name": "KBEnginePlugins",
"Enabled": true
}
],
"AdditionalPluginDirectories": [
"./Plugins"
]
}
参考资料:
111111
22222
33333