Tencent / sluaunreal

lua dev plugin for unreal engine 4 or 5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UE5.2打包项目报错,LuaDelegate.h和SluaUtil.cpp的编译条件不一致

ozbao opened this issue · comments

Describe the bug
Determining max actions to execute in parallel (16 physical cores, 32 logical cores)
Executing up to 16 processes, one per physical core
Building 4 actions with 4 processes...
[1/4] Compile [x64] Module.slua_unreal.3_of_3.cpp
D:\Work\UE\Project\Main\RunbaPet\Plugins\slua_unreal\Source\slua_unreal\Private\SluaUtil.cpp(26): error C2039: "getPropName": 不是 "ULuaDelegate" 的成员
D:\Work\UE\Project\Main\RunbaPet\Plugins\slua_unreal\Source\slua_unreal\Public\LuaDelegate.h(23): note: 参见“ULuaDelegate”的声明
[2/4] Compile [x64] Module.vits_native.cpp
[3/4] Link [x64] RunbaPet.exe cancelled
[4/4] WriteMetadata RunbaPet.target cancelled
CompilationResultException: Error: OtherCompilationError
at UnrealBuildTool.ActionGraph.ExecuteActions(BuildConfiguration BuildConfiguration, List1 ActionsToExecute, List1 TargetDescriptors, ILogger Logger) in C:\Soft\UE\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\System\ActionGraph.cs:line 399
at UnrealBuildTool.BuildMode.Build(TargetMakefile[] Makefiles, List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger) in C:\Soft\UE\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 753
at UnrealBuildTool.BuildMode.Execute(CommandLineArguments Arguments, ILogger Logger) in C:\Soft\UE\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 248
at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Soft\UE\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 599
WriteFileIfChanged() wrote 0 changed files of 1505 requested writes.
Timeline:

报错 error C2039: "getPropName": 不是 "ULuaDelegate" 的成员

Version
源码版UE5.2,9.5 2023 的slua

To Reproduce
用的源码5.2,Development Editor设置。移动端的渲染设置,打包windows程序

Expected behavior

image
getPropName只有在#if WITH_EDITOR才会被编译
但是
image
#if UE_BUILD_DEVELOPMENT
if (auto ld = Cast(obj)) {
return ld->getPropName();
}
else {
return obj->GetFName().ToString();
}
#else

上面这个 ld->getPropName();的条件是UE_BUILD_DEVELOPMENT,和FString& getPropName()的#if WITH_EDITOR条件不一致,导致编译的时候,没有识别到"getPropName":