UE5.8 Preview: Custom plugin reports "undefined class 'XXX_API'" when using GameplayAbilities classes

Environment:

  • UE 5.8 Preview
  • Windows 10
  • Visual Studio 2022 Community
  • Project template: Blank C++

Plugins enabled:
GameplayAbilities, Mover, NetworkPrediction, ChaosMover (disabled), EnhancedInput

Problem Description:
I created a custom plugin called “RFTSGameCore” to hold my GameplayAbilitySystem classes (UAttributeSet, UAbilitySystemComponent, ACharacter). The plugin’s Build.cs correctly declares GameplayAbilities as a dependency. However, every class in the plugin fails to compile with:

error C2079: ‘URFTSAttributeSet’ uses undefined class ‘RFTS_API’

The same code compiles successfully when placed directly in the main project module (Source/RFTS/). I also verified this by creating a separate TestGAS project where the same code works.

Steps to Reproduce:

  1. Create a blank C++ project in UE 5.8 Preview.
  2. Enable GameplayAbilities plugin.
  3. Add a new plugin (Blank template) named “TestPlugin”.
  4. In the plugin’s Source folder, create a UAttributeSet-derived class.
  5. Add “GameplayAbilities” to the plugin’s Build.cs PublicDependencyModuleNames.
  6. Compile → “undefined class ‘XXX_API’” error appears for all classes in the plugin.
  7. The same AttributeSet class compiles normally when placed in the main module.

Key Error Log (full log available if needed):
C:…\TestPlugin\Core\TestAttributeSet.h: error C2079: ‘UTestAttributeSet’ uses undefined class ‘TESTPLUGIN_API’
C:…\TestPlugin\Core\TestAttributeSet.h: error C2143: syntax error: missing ‘;’ before ‘:’
… (all subsequent errors cascade from the undefined API macro)

Additional Notes:

  • I am a programming beginner and have been using DeepSeek AI to assist with project setup and debugging.
  • The AI and I verified that main-module compilation works, and isolated the issue to plugin-based code only.
  • This appears to be a module export macro generation issue specific to the Preview build’s plugin loading mechanism.
  • ChaosMover plugin (copied to project but disabled) compiles without this issue.
  • Happy to provide any additional logs, project files, or testing if needed.

Request:
Is this a known issue with UE 5.8 Preview’s plugin module export system? Any guidance on workarounds (besides moving all code to the main module) would be appreciated. Thank you!

这是编译过程

================================================
RFTS Hard Compile Script

[0/4] Terminating potential file-locking processes…
Process cleanup done.

[1/4] Deep cleaning caches…
Removed: C:\RFTS\Intermediate
Skipped (not found): C:\RFTS\Binaries
Removed: C:\RFTS\Saved
Skipped (not found): C:\RFTS.vs
Deep clean completed.

[2/4] Regenerating Visual Studio solution (.sln)…
Using bundled DotNet SDK version: 10.0 win-x64
Running UnrealBuildTool: dotnet “…\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll” -projectfiles -project=“C:\RFTS\RFTS.uproject” -game -engine
Log file: C:\Users\Aa\AppData\Local\UnrealBuildTool\Log_GPF.txt

Generating VisualStudio project files:
Discovering modules, targets and source code for project…
Writing ‘C:\RFTS\Automation_RFTS.sln’…
Writing ‘C:\RFTS\Automation_RFTS.slnx’…
Writing automation project files took 0.12s
Adding projects for all targets…
Adding projects for all targets took 1.97s
Adding projects for all game projects took 0.00s
Adding projects for all modules took 0.05s
Compiling Rules Assemblies 100%
Creating Build Targets
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘GameplayAbilities’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘GameplayAbilities’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘Mover’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘Mover’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘ChaosMover’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘ChaosMover’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘NetworkPrediction’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘NetworkPrediction’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘EnhancedInput’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘EnhancedInput’.
Creating Build Targets 100%
Binding IntelliSense data…
Creating Build Targets took 0.49s
Binding IntelliSense data… 100%
Binding IntelliSense data took 0.69s
Writing project files…
Writing ‘C:\RFTS\RFTS.sln’…
Writing ‘C:\RFTS\RFTS.slnx’…
Writing project files… 100%
Writing solution file took 0.10s
Writing project files took 0.71s
Compiling Rules Assemblies

Generating QueryTargets data for editor…
Compiling Rules Assemblies 100%
Writing Query Target Info 100%
Generating QueryTargets data for editor took 0.02s

Result: Succeeded
Total execution time: 6.29 seconds
Trace written to file C:\Users\Aa\AppData\Local\UnrealBuildTool\Trace.uba with size 130.6kb
Solution generated successfully.

[3/4] Building project (Development Editor Win64)…
Target: RFTSEditor
Platform: Win64
Configuration: Development

Log file: C:\Users\Aa\AppData\Local\UnrealBuildTool\Log.txt

Determining max actions to execute in parallel (10 physical cores, 16 logical cores)
Executing up to 10 processes, one per physical core
Creating makefile for RFTSEditor (no existing makefile)
UbaServer - Listening on 0.0.0.0:1345
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘GameplayAbilities’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘GameplayAbilities’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘Mover’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘Mover’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘ChaosMover’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘ChaosMover’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘NetworkPrediction’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘NetworkPrediction’.
Warning: Plugin ‘RFTSGameCore’ does not list plugin ‘EnhancedInput’ as a dependency, but module ‘RFTSGameCore’ depends on module ‘EnhancedInput’.
UHT compiled-in object format Default
Building RFTSEditor…
===== Toolchain Information =====
Using ISPC compiler (C:\UE_Projects\UE_5.8\Engine\Source\ThirdParty\Intel\ISPC\bin\Windows\ispc.exe)
Intel(r) Implicit SPMD Program Compiler (Intel(r) ISPC), 1.24.0 (build commit @ 20250404, LLVM 18.1.2)
Using Visual Studio 14.44.35227 toolchain (D:\VS\VC\Tools\MSVC\14.44.35207) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
[Adaptive Build] Excluded from ChaosMover unity file: ChaosCompositeMovementMode.cpp, ChaosLayeredMoveSource.cpp, ChaosMoveExecutorBase.cpp, ChaosMovementMode.cpp, ChaosMovementModeTransition.cpp, ChaosMoverConsoleVariables.cpp, ChaosMoverLog.cpp, ChaosMoverModule.cpp, ChaosMoverSimulation.cpp, ChaosMoverSimulationTypes.cpp, ChaosMoverSourceBase.cpp, ChaosMoverStateMachine.cpp, ChaosMoverAsyncCallback.cpp, ChaosMoverBackend.cpp, ChaosMoverSubsystem.cpp, NetworkChaosMoverData.cpp, ChaosCharacterInputs.cpp, ChaosCharacterMoverComponent.cpp, ChaosCharacterApplyVelocityEffect.cpp, ChaosCharacterWalkingExecutor.cpp, ChaosCharacterCompositeMovementMode.cpp, ChaosCharacterMovementMode.cpp, ChaosFallingMode.cpp, ChaosFlyingMode.cpp, ChaosSwimmingMode.cpp, ChaosWalkingMode.cpp, ChaosStanceModifier.cpp, ChaosCharacterCrouchCheck.cpp, ChaosCharacterFallingCheck.cpp, ChaosCharacterJumpCheck.cpp, ChaosCharacterLandingCheck.cpp, ChaosCharacterLaunchCheck.cpp, ChaosCharacterWaterCheck.cpp, ChaosEllipticalMovementPathPattern.cpp, ChaosPathedMovementControllerComponent.cpp, ChaosPathedMovementDebugDrawComponent.cpp, ChaosPathedMovementMode.cpp, ChaosPathedMovementPatternBase.cpp, ChaosPathedMovementTypes.cpp, ChaosPointMovementPathPattern.cpp, ChaosSplineMovementPathPattern.cpp, ChaosPathedMovementReachedEndTransition.cpp, ChaosGroundMovementUtils.cpp, ChaosMoverQueryUtils.cpp
[Adaptive Build] Excluded from RFTSGameCore unity file: RFTSCharacter.cpp, RFTSAbilitySystemComponent.cpp, RFTSAttributeSet.cpp

Using Unreal Build Accelerator local executor to run 62 action(s)
CPU 10 physical cores, 16 logical cores
Memory 31.75 GB physical, 16.07 GB/36.17 GB committed
UBA Storage capacity 40 GB
[1/62] Compile Resource [x64] Default.rc2
[2/62] Compile Resource [x64] Default.rc2
[3/62] Compile Resource [x64] Default.rc2
[4/62] Compile [x64] SharedPCH.UnrealEd.Project.ValApi.ValExpApi.Cpp20.cpp
[5/62] Compile [x64] ChaosCharacterInputs.cpp
[6/62] Compile [x64] ChaosCharacterCompositeMovementMode.cpp
[7/62] Compile [x64] ChaosCharacterApplyVelocityEffect.cpp
[8/62] Compile [x64] ChaosCharacterFallingCheck.cpp
[9/62] Compile [x64] ChaosCharacterCrouchCheck.cpp
[10/62] Compile [x64] ChaosCharacterLandingCheck.cpp
[11/62] Compile [x64] ChaosCharacterLaunchCheck.cpp
[12/62] Compile [x64] ChaosCharacterJumpCheck.cpp
[13/62] Compile [x64] ChaosCharacterMovementMode.cpp
[14/62] Compile [x64] ChaosCompositeMovementMode.cpp
[15/62] Compile [x64] ChaosCharacterWaterCheck.cpp
[16/62] Compile [x64] ChaosCharacterWalkingExecutor.cpp
[17/62] Compile [x64] ChaosEllipticalMovementPathPattern.cpp
[18/62] Compile [x64] ChaosCharacterMoverComponent.cpp
[19/62] Compile [x64] ChaosLayeredMoveSource.cpp
[20/62] Compile [x64] ChaosGroundMovementUtils.cpp
[21/62] Compile [x64] ChaosMoveExecutorBase.cpp
[22/62] Compile [x64] ChaosFlyingMode.cpp
[23/62] Compile [x64] ChaosFallingMode.cpp
[24/62] Compile [x64] ChaosMoverConsoleVariables.cpp
[25/62] Compile [x64] ChaosMoverLog.cpp
[26/62] Compile [x64] ChaosMovementMode.cpp
[27/62] Compile [x64] ChaosMovementModeTransition.cpp
[28/62] Compile [x64] ChaosMoverModule.cpp
[29/62] Compile [x64] ChaosMoverAsyncCallback.cpp
[30/62] Compile [x64] ChaosMoverQueryUtils.cpp
[31/62] Compile [x64] ChaosMoverSourceBase.cpp
[32/62] Compile [x64] ChaosMoverBackend.cpp
[33/62] Compile [x64] ChaosMoverSimulationTypes.cpp
[34/62] Compile [x64] ChaosMoverStateMachine.cpp
[35/62] Compile [x64] ChaosPathedMovementDebugDrawComponent.cpp
[36/62] Compile [x64] ChaosPathedMovementMode.cpp
[37/62] Compile [x64] ChaosMoverSimulation.cpp
C:\RFTS\Plugins\ChaosMover\Source\ChaosMover\Private\ChaosMoverSimulation.cpp(524,41): warning C4996: ‘Chaos::Filter::FInstanceData::GetComponentId’: This API is internal to the engine. As such, there is no guarantee that it won’t change or be removed in future releases. Please use at your own risk.
uint32 ComponentID = InstanceData.GetComponentId();
^
[38/62] Compile [x64] ChaosPathedMovementPatternBase.cpp
[39/62] Compile [x64] ChaosPathedMovementTypes.cpp
[40/62] Compile [x64] ChaosPathedMovementReachedEndTransition.cpp
[41/62] Compile [x64] ChaosPathedMovementControllerComponent.cpp
[42/62] Compile [x64] ChaosMoverSubsystem.cpp
[43/62] Compile [x64] ChaosPointMovementPathPattern.cpp
[44/62] Compile [x64] ChaosSplineMovementPathPattern.cpp
[45/62] Compile [x64] ChaosSwimmingMode.cpp
[46/62] Compile [x64] Module.ChaosMover.cpp
[47/62] Compile [x64] ChaosWalkingMode.cpp
[48/62] Compile [x64] PerModuleInline.gen.cpp
[49/62] Compile [x64] Module.RFTSGameCore.cpp
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,16): error C2079: “URFTSAbilitySystemComponent"使用未定义的 class"RFTS_API”
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,44): error C2143: 语法错误: 缺少";“(在”:“的前面)
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,46): error C2059: 语法错误:“public”
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(11,1): error C2143: 语法错误: 缺少”;“(在”{“的前面)
{
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(11,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,3): error C2923: “TCppClassTypeTraits”: “URFTSAbilitySystemComponent” 不是参数 “CPPCLASS” 的有效 模板 类型参数
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,16): note: 参见"URFTSAbilitySystemComponent"的声明
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,53): error C2955: “TCppClassTypeTraits”: 使用 类 模板 需要 模板 参数列表
TCppClassTypeTraits::IsAbstract,
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(3745,8): note: 参见"TCppClassTypeTraits “的声明
struct TCppClassTypeTraits : public FCppClassTypeTraitsBase
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,53): error C2397: 从"TCppClassTypeTraits::“转换到"bool"需要收缩转换
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,53): error C4800: 从"TCppClassTypeTraits::“到 bool 的隐式转换。信息可能丢失
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,53): note: 请考虑使用显式强制转换或比较 0 来避免此警告
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(3748,2): note: 参见"TCppClassTypeTraits::“的声明
{
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(44,53): warning C4305: “初始化”: 从"TCppClassTypeTraits::“到"bool"截断
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(73,18): error C2061: 语法错误: 标识符"URFTSAbilitySystemComponent”
using TClass = URFTSAbilitySystemComponent;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(77,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticPackage(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(77,13): error C3861: “StaticPackage”: 找不到标识符
TClass::StaticPackage(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(81,16): error C2065: “TClass”: 未声明的标识符
DataSizeOf(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(81,5): error C2672: “DataSizeOf”: 未找到匹配的重载函数
DataSizeOf(),
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Core\Public\Templates\AlignmentTemplates.h(84,23): note: 可能是"size_t DataSizeOf(void)”
consteval std::size_t DataSizeOf()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(81,16): note: “DataSizeOf”:“T"的 模板 参数无效,应为类型
DataSizeOf(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(82,13): error C2061: 语法错误: 标识符"TClass”
alignof(TClass),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(83,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticClassFlags,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(84,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticClassCastFlags(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(85,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticConfigName(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(86,55): error C2065: “TClass”: 未声明的标识符
(UClass::ClassConstructorType)InternalConstructor,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(87,77): error C2065: “TClass”: 未声明的标识符
(UClass::ClassVTableHelperCtorCallerType)InternalVTableHelperCtorCaller,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(88,5): error C2653: “TClass”: 不是类或命名空间名称
UOBJECT_CPPCLASS_STATICFUNCTIONS_FORCLASS(TClass),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(89,6): error C2653: “TClass”: 不是类或命名空间名称
&TClass::Super::StaticClass,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(90,6): error C2653: “TClass”: 不是类或命名空间名称
&TClass::WithinClass::StaticClass
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(102,1): error C2027: 使用了未定义类型"URFTSAbilitySystemComponent”
DEFINE_VTABLE_PTR_HELPER_CTOR_NS(, URFTSAbilitySystemComponent);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.generated.h(53,7): note: 参见"URFTSAbilitySystemComponent"的声明
class URFTSAbilitySystemComponent;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(102,1): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
DEFINE_VTABLE_PTR_HELPER_CTOR_NS(, URFTSAbilitySystemComponent);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(102,1): error C2550: “{ctor}”: 构造函数初始值设定项列表只能在构造函数定义中使用
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(102,1): error C4508: “{ctor}”: 函数应返回一个值;假定"void"返回类型
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(103,31): error C2027: 使用了未定义类型"URFTSAbilitySystemComponent”
URFTSAbilitySystemComponent::~URFTSAbilitySystemComponent() {}
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.generated.h(53,7): note: 参见"URFTSAbilitySystemComponent"的声明
class URFTSAbilitySystemComponent;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(103,31): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
URFTSAbilitySystemComponent::~URFTSAbilitySystemComponent() {}
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.gen.cpp(103,62): error C4508: “{dtor}”: 函数应返回一个值;假定"void"返回类型
URFTSAbilitySystemComponent::~URFTSAbilitySystemComponent() {}
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,16): error C2079: “URFTSAttributeSet"使用 未定义的 class"RFTS_API”
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,34): error C2143: 语法错误: 缺少”;”(在": “的前面)
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,36): error C2059: 语法错误:“public”
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(12,1): error C2143: 语法错误: 缺少”;“(在”{“的前面)
{
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(12,1): error C2447: “{”: 缺少函数标题(是否是 老式的形式表?)
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(73,1): error C2027: 使用了未定义类型"URFTSAttributeSet”
DEFINE_FUNCTION(URFTSAttributeSet::execOnRep_Fuel)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(78,2): error C2065: “ThisClass”: 未声明的标识符
P_THIS->OnRep_Fuel(Z_Param_Out_OldFuel);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(78,2): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(129,1): error C2027: 使用了未定义类型"URFTSAttributeSet"
DEFINE_FUNCTION(URFTSAttributeSet::execOnRep_Health)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(134,2): error C2065: “ThisClass”: 未声明的标识符
P_THIS->OnRep_Health(Z_Param_Out_OldHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(134,2): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(185,1): error C2027: 使用了未定义类型"URFTSAttributeSet"
DEFINE_FUNCTION(URFTSAttributeSet::execOnRep_MaxHealth)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(190,2): error C2065: “ThisClass”: 未声明的标识符
P_THIS->OnRep_MaxHealth(Z_Param_Out_OldMaxHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(190,2): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(241,1): error C2027: 使用了未定义类型"URFTSAttributeSet"
DEFINE_FUNCTION(URFTSAttributeSet::execOnRep_Shield)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(246,2): error C2065: “ThisClass”: 未声明的标识符
P_THIS->OnRep_Shield(Z_Param_Out_OldShield);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(246,2): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(297,1): error C2027: 使用了未定义类型"URFTSAttributeSet"
DEFINE_FUNCTION(URFTSAttributeSet::execOnRep_Stamina)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(302,2): error C2065: “ThisClass”: 未声明的标识符
P_THIS->OnRep_Stamina(Z_Param_Out_OldStamina);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(302,2): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(350,72): error C2027: 使用了未定义类型"URFTSAttributeSet"
{ .NameUTF8 = UTF8TEXT(“OnRep_Fuel”), .Pointer = &URFTSAttributeSet::execOnRep_Fuel },
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(351,74): error C2027: 使用了未定义类型"URFTSAttributeSet"
{ .NameUTF8 = UTF8TEXT(“OnRep_Health”), .Pointer = &URFTSAttributeSet::execOnRep_Health },
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(352,77): error C2027: 使用了未定义类型"URFTSAttributeSet"
{ .NameUTF8 = UTF8TEXT(“OnRep_MaxHealth”), .Pointer = &URFTSAttributeSet::execOnRep_MaxHealth },
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(353,74): error C2027: 使用了未定义类型"URFTSAttributeSet"
{ .NameUTF8 = UTF8TEXT(“OnRep_Shield”), .Pointer = &URFTSAttributeSet::execOnRep_Shield },
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(354,75): error C2027: 使用了未定义类型"URFTSAttributeSet"
{ .NameUTF8 = UTF8TEXT(“OnRep_Stamina”), .Pointer = &URFTSAttributeSet::execOnRep_Stamina },
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,3): error C2923: “TCppClassTypeTraits”: “URFTSAttributeSet” 不是参数 “CPPCLASS” 的有效 模板 类型参数
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,16): note: 参见"URFTSAttributeSet"的声明
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,43): error C2955: “TCppClassTypeTraits”: 使用 类 模板 需要 模板 参数列表
TCppClassTypeTraits::IsAbstract,
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(3745,8): note: 参见"TCppClassTypeTraits “的声明
struct TCppClassTypeTraits : public FCppClassTypeTraitsBase
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,43): error C2397: 从"TCppClassTypeTraits::“转换到"bool"需要收缩转换
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,43): error C4800: 从"TCppClassTypeTraits::“到 bool 的隐式转换。信息可能丢失
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,43): note: 请考虑使用显式强制转换或比较 0 来避免此警告
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h(3748,2): note: 参见"TCppClassTypeTraits::“的声明
{
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(366,43): warning C4305: “初始化”: 从"TCppClassTypeTraits::“到"bool"截断
TCppClassTypeTraits::IsAbstract,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(372,209): error C2615: “offsetof” 不能应用于非类类型 “”
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Health = { “Health”, “OnRep_Health”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Health), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Health_MetaData), NewProp_Health_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(372,61): error C2737: “NewProp_Health”: 必须初始化 const 对象
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Health = { “Health”, “OnRep_Health”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Health), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Health_MetaData), NewProp_Health_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(373,218): error C2615: “offsetof” 不能应用于非类类型 “”
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_MaxHealth = { “MaxHealth”, “OnRep_MaxHealth”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, MaxHealth), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_MaxHealth_MetaData), NewProp_MaxHealth_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(373,61): error C2737: “NewProp_MaxHealth”: 必须初始化 const 对象
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_MaxHealth = { “MaxHealth”, “OnRep_MaxHealth”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, MaxHealth), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_MaxHealth_MetaData), NewProp_MaxHealth_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(374,209): error C2615: “offsetof” 不能应用于非类类型 “”
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Shield = { “Shield”, “OnRep_Shield”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Shield), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Shield_MetaData), NewProp_Shield_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(374,61): error C2737: “NewProp_Shield”: 必须初始化 const 对象
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Shield = { “Shield”, “OnRep_Shield”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Shield), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Shield_MetaData), NewProp_Shield_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(375,203): error C2615: “offsetof” 不能应用于非类类型 “”
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Fuel = { “Fuel”, “OnRep_Fuel”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Fuel), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Fuel_MetaData), NewProp_Fuel_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(375,61): error C2737: “NewProp_Fuel”: 必须初始化 const 对象
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Fuel = { “Fuel”, “OnRep_Fuel”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Fuel), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Fuel_MetaData), NewProp_Fuel_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(376,212): error C2615: “offsetof” 不能应用于非类类型 “”
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Stamina = { “Stamina”, “OnRep_Stamina”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Stamina), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Stamina_MetaData), NewProp_Stamina_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(376,61): error C2737: “NewProp_Stamina”: 必须初始化 const 对象
const UECodeGen_Private::FStructPropertyParams UHT_STATICS::NewProp_Stamina = { “Stamina”, “OnRep_Stamina”, (EPropertyFlags)0x0010000100000034, UECodeGen_Private::EPropertyGenFlags::Struct, nullptr, nullptr, 1, STRUCT_OFFSET(URFTSAttributeSet, Stamina), Z_Construct_UScriptStruct_FGameplayAttributeData, METADATA_PARAMS(UE_ARRAY_COUNT(NewProp_Stamina_MetaData), NewProp_Stamina_MetaData) }; // c9038eaacbc0b160595ddb21ed350dba40a38af0
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(408,37): error C2027: 使用了未定义类型"URFTSAttributeSet”
UClass* Class = URFTSAttributeSet::StaticClass();
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(408,37): error C2672: “StaticClass”: 未找到匹配的重载函数
UClass* Class = URFTSAttributeSet::StaticClass();
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(408,37): note: “UClass StaticClass(void)": 无法推导"ClassType"的 模板 参数
UClass
Class = URFTSAttributeSet::StaticClass();
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(416,18): error C2061: 语法错误: 标识符"URFTSAttributeSet”
using TClass = URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(420,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticPackage(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(420,13): error C3861: “StaticPackage”: 找不到标识符
TClass::StaticPackage(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(424,16): error C2065: “TClass”: 未声明的标识符
DataSizeOf(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(424,5): error C2672: “DataSizeOf”: 未找到匹配的重载函数
DataSizeOf(),
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Core\Public\Templates\AlignmentTemplates.h(84,23): note: 可能是"size_t DataSizeOf(void)”
consteval std::size_t DataSizeOf()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(424,16): note: “DataSizeOf”:“T"的 模板 参数无效,应为类型
DataSizeOf(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(425,13): error C2061: 语法错误: 标识符"TClass”
alignof(TClass),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(426,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticClassFlags,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(427,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticClassCastFlags(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(428,5): error C2653: “TClass”: 不是类或命名空间名称
TClass::StaticConfigName(),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(429,55): error C2065: “TClass”: 未声明的标识符
(UClass::ClassConstructorType)InternalConstructor,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(430,77): error C2065: “TClass”: 未声明的标识符
(UClass::ClassVTableHelperCtorCallerType)InternalVTableHelperCtorCaller,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(431,5): error C2653: “TClass”: 不是类或命名空间名称
UOBJECT_CPPCLASS_STATICFUNCTIONS_FORCLASS(TClass),
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(432,6): error C2653: “TClass”: 不是类或命名空间名称
&TClass::Super::StaticClass,
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(433,6): error C2653: “TClass”: 不是类或命名空间名称
&TClass::WithinClass::StaticClass
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(445,25): error C2027: 使用了未定义类型"URFTSAttributeSet”
void URFTSAttributeSet::ValidateGeneratedRepEnums(const TArray& ClassReps) const
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(445,25): error C2270: “ValidateGeneratedRepEnums”: 非成员函数上不允许修饰符
void URFTSAttributeSet::ValidateGeneratedRepEnums(const TArray& ClassReps) const
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(453,38): error C2653: “ENetFields_Private”: 不是类或命名空间名称
&& Name_Health == ClassReps[(int32)ENetFields_Private::Health].Property->GetFName()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(453,58): error C2065: “Health”: 未声明的标识符
&& Name_Health == ClassReps[(int32)ENetFields_Private::Health].Property->GetFName()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(454,41): error C2653: “ENetFields_Private”: 不是类或命名空间名称
&& Name_MaxHealth == ClassReps[(int32)ENetFields_Private::MaxHealth].Property->GetFName()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(454,61): error C2065: “MaxHealth”: 未声明的标识符
&& Name_MaxHealth == ClassReps[(int32)ENetFields_Private::MaxHealth].Property->GetFName()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.gen.cpp(454,61): fatal error C1003: 错误计数超过 100;正在停止编译
[50/62] Compile [x64] RFTS.cpp
[51/62] Link [x64] UnrealEditor-RFTS.lib
正在创建库 C:/RFTS/Intermediate/Build/Win64/x64/UnrealEditor/Development/RFTS/UnrealEditor-RFTS.lib 和对象 C:/RFTS/Intermediate/Build/Win64/x64/UnrealEditor/Development/RFTS/UnrealEditor-RFTS.exp
[52/62] Compile [x64] RFTSCharacter.cpp
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.h(14,16): error C2079: “ARFTSCharacter"使用 未定义的 class"RFTS_API”
class RFTS_API ARFTSCharacter : public ACharacter, public IAbilitySystemInterface
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.h(14,31): error C2143: 语法错误: 缺少”;”(在 “:“的前面)
class RFTS_API ARFTSCharacter : public ACharacter, public IAbilitySystemInterface
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.h(14,33): error C2059: 语法错误:“public”
class RFTS_API ARFTSCharacter : public ACharacter, public IAbilitySystemInterface
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.h(15,1): error C2143: 语法错误: 缺少”;”(在"{“的前面)
{
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.h(15,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Characters\RFTSCharacter.cpp(4,1): fatal error C1083: 无法打开包括文件: “RFTSAbilitySystemComponent.h”: No such file or directory
include “RFTSAbilitySystemComponent.h” // ASC ͷ
^
[53/62] Compile [x64] RFTSAbilitySystemComponent.cpp
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,16): error C2079: “URFTSAbilitySystemComponent"使用未定义的 class"RFTS_API”
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,44): error C2143: 语法错误: 缺少”;“(在”:“的前面)
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(10,46): error C2059: 语法错误:“public”
class RFTS_API URFTSAbilitySystemComponent : public UAbilitySystemComponent
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(11,1): error C2143: 语法错误: 缺少”;“(在”{“的前面)
{
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.h(11,1): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.cpp(5,30): error C2027: 使用了未定义类 型"URFTSAbilitySystemComponent”
URFTSAbilitySystemComponent::URFTSAbilitySystemComponent()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAbilitySystemComponent.generated.h(53,7): note: 参见"URFTSAbilitySystemComponent"的声明
class URFTSAbilitySystemComponent;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.cpp(5,30): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
URFTSAbilitySystemComponent::URFTSAbilitySystemComponent()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAbilitySystemComponent.cpp(7,1): error C4508: “{ctor}”: 函数应返回一个值;假定"void"返回类型
}
^
[54/62] Compile [x64] RFTSAttributeSet.cpp
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,16): error C2079: “URFTSAttributeSet"使用 未定义的 class"RFTS_API”
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,34): error C2143: 语法错误: 缺少";“(在”: “的前面)
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(11,36): error C2059: 语法错误:“public”
class RFTS_API URFTSAttributeSet : public UAttributeSet
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(12,1): error C2143: 语法错误: 缺少”;“(在”{“的前面)
{
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.h(12,1): error C2447: “{”: 缺少函数标题(是否是 老式的形式表?)
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(6,20): error C2027: 使用了未定义类型"URFTSAttributeSet”
URFTSAttributeSet::URFTSAttributeSet()
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(6,20): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
URFTSAttributeSet::URFTSAttributeSet()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(8,5): error C2065: “Health”: 未声明的标识符
Health.SetBaseValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(9,5): error C2065: “Health”: 未声明的标识符
Health.SetCurrentValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(11,5): error C2065: “MaxHealth”: 未声明的标识符
MaxHealth.SetBaseValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(12,5): error C2065: “MaxHealth”: 未声明的标识符
MaxHealth.SetCurrentValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(14,5): error C2065: “Shield”: 未声明的标识 符
Shield.SetBaseValue(50.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(15,5): error C2065: “Shield”: 未声明的标识 符
Shield.SetCurrentValue(50.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(17,5): error C2065: “Fuel”: 未声明的标识符
Fuel.SetBaseValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(18,5): error C2065: “Fuel”: 未声明的标识符
Fuel.SetCurrentValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(20,5): error C2065: “Stamina”: 未声明的标识符
Stamina.SetBaseValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(21,5): error C2065: “Stamina”: 未声明的标识符
Stamina.SetCurrentValue(100.0f);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(22,1): error C4508: “{ctor}”: 函数应返回一 个值;假定"void"返回类型
}
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(24,25): error C2027: 使用了未定义类型"URFTSAttributeSet"
void URFTSAttributeSet::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(24,25): error C2270: “GetLifetimeReplicatedProps”: 非成员函数上不允许修饰符
void URFTSAttributeSet::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2065: “ThisClass”: 未声明的标识符
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Health, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2672: “ValidateReplicatedClassInheritance”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Engine\Public\Net\UnrealNetwork.h(213,16): note: 可能是"bool ValidateReplicatedClassInheritance(void)"
constexpr bool ValidateReplicatedClassInheritance()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): note: “ValidateReplicatedClassInheritance”:“BaseClass"的 模板 参数无效,应为类型
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Health, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2672: “StaticClass”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Health, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2027: 使用了未定义类型"URFTSAttributeSet”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): error C2661: “RegisterReplicatedLifetimeProperty”: 没有重载函数接受 2 个参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Health, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(26,5): note: 尝试匹配参数列表"(FProperty *, TArray<FLifetimeProperty,FDefaultAllocator>)“时
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2065: “ThisClass”: 未声明的标识符
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2672: “ValidateReplicatedClassInheritance”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Engine\Public\Net\UnrealNetwork.h(213,16): note: 可能是"bool ValidateReplicatedClassInheritance(void)”
constexpr bool ValidateReplicatedClassInheritance()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): note: “ValidateReplicatedClassInheritance”:“BaseClass"的 模板 参数无效,应为类型
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2672: “StaticClass”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2027: 使用了未定义类型"URFTSAttributeSet”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): error C2661: “RegisterReplicatedLifetimeProperty”: 没有重载函数接受 2 个参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, MaxHealth, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(27,5): note: 尝试匹配参数列表"(FProperty *, TArray<FLifetimeProperty,FDefaultAllocator>)“时
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2065: “ThisClass”: 未声明的标识符
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Shield, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2672: “ValidateReplicatedClassInheritance”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Engine\Public\Net\UnrealNetwork.h(213,16): note: 可能是"bool ValidateReplicatedClassInheritance(void)”
constexpr bool ValidateReplicatedClassInheritance()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): note: “ValidateReplicatedClassInheritance”:“BaseClass"的 模板 参数无效,应为类型
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Shield, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2672: “StaticClass”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Shield, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2027: 使用了未定义类型"URFTSAttributeSet”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): error C2661: “RegisterReplicatedLifetimeProperty”: 没有重载函数接受 2 个参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Shield, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(28,5): note: 尝试匹配参数列表"(FProperty *, TArray<FLifetimeProperty,FDefaultAllocator>)“时
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2065: “ThisClass”: 未声明的标识符
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Fuel, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2672: “ValidateReplicatedClassInheritance”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Engine\Public\Net\UnrealNetwork.h(213,16): note: 可能是"bool ValidateReplicatedClassInheritance(void)”
constexpr bool ValidateReplicatedClassInheritance()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): note: “ValidateReplicatedClassInheritance”:“BaseClass"的 模板 参数无效,应为类型
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Fuel, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2672: “StaticClass”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Fuel, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2027: 使用了未定义类型"URFTSAttributeSet”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): error C2661: “RegisterReplicatedLifetimeProperty”: 没有重载函数接受 2 个参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Fuel, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(29,5): note: 尝试匹配参数列表"(FProperty *, TArray<FLifetimeProperty,FDefaultAllocator>)“时
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2065: “ThisClass”: 未声明的标识符
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Stamina, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2672: “ValidateReplicatedClassInheritance”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\Engine\Public\Net\UnrealNetwork.h(213,16): note: 可能是"bool ValidateReplicatedClassInheritance(void)”
constexpr bool ValidateReplicatedClassInheritance()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): note: “ValidateReplicatedClassInheritance”:“BaseClass"的 模板 参数无效,应为类型
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Stamina, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2672: “StaticClass”: 未找到匹配的重载函数
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Stamina, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2027: 使用了未定义类型"URFTSAttributeSet”
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): error C2661: “RegisterReplicatedLifetimeProperty”: 没有重载函数接受 2 个参数
DOREPLIFETIME_CONDITION_NOTIFY(URFTSAttributeSet, Stamina, COND_None, REPNOTIFY_Always);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(30,5): note: 尝试匹配参数列表"(FProperty *, TArray<FLifetimeProperty,FDefaultAllocator>)“时
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(33,25): error C2027: 使用了未定义类型"URFTSAttributeSet”
void URFTSAttributeSet::OnRep_Health(const FGameplayAttributeData& OldHealth)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): error C2027: 使用了未定义类型"URFTSAttributeSet"
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Health, OldHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): error C2672: “StaticClass”: 未找到匹配的重载函数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Health, OldHealth);
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Health, OldHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): error C3861: “GetOwningAbilitySystemComponentChecked”: 找不到标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(35,5): error C2065: “Health”: 未声明的标识 符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(38,25): error C2027: 使用了未定义类型"URFTSAttributeSet"
void URFTSAttributeSet::OnRep_MaxHealth(const FGameplayAttributeData& OldMaxHealth)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): error C2027: 使用了未定义类型"URFTSAttributeSet"
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, MaxHealth, OldMaxHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): error C2672: “StaticClass”: 未找到匹配的重载函数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, MaxHealth, OldMaxHealth);
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, MaxHealth, OldMaxHealth);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): error C3861: “GetOwningAbilitySystemComponentChecked”: 找不到标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(40,5): error C2065: “MaxHealth”: 未声明的标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(43,25): error C2027: 使用了未定义类型"URFTSAttributeSet"
void URFTSAttributeSet::OnRep_Shield(const FGameplayAttributeData& OldShield)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): error C2027: 使用了未定义类型"URFTSAttributeSet"
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Shield, OldShield);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): error C2672: “StaticClass”: 未找到匹配的重载函数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Shield, OldShield);
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Shield, OldShield);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): error C3861: “GetOwningAbilitySystemComponentChecked”: 找不到标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(45,5): error C2065: “Shield”: 未声明的标识 符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(48,25): error C2027: 使用了未定义类型"URFTSAttributeSet"
void URFTSAttributeSet::OnRep_Fuel(const FGameplayAttributeData& OldFuel)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): error C2027: 使用了未定义类型"URFTSAttributeSet"
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Fuel, OldFuel);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): error C2672: “StaticClass”: 未找到匹配的重载函数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Fuel, OldFuel);
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Fuel, OldFuel);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): error C3861: “GetOwningAbilitySystemComponentChecked”: 找不到标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(50,5): error C2065: “Fuel”: 未声明的标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(53,25): error C2027: 使用了未定义类型"URFTSAttributeSet"
void URFTSAttributeSet::OnRep_Stamina(const FGameplayAttributeData& OldStamina)
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): error C2027: 使用了未定义类型"URFTSAttributeSet"
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Stamina, OldStamina);
^
C:\RFTS\Plugins\RFTSGameCore\Intermediate\Build\Win64\UnrealEditor\Inc\RFTSGameCore\UHT\RFTSAttributeSet.generated.h(78,7): note: 参见"URFTSAttributeSet"的声明
class URFTSAttributeSet;
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): error C2672: “StaticClass”: 未找到匹配的重载函数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Stamina, OldStamina);
^
C:\UE_Projects\UE_5.8\Engine\Source\Runtime\CoreUObject\Public\UObject\ReflectedTypeAccessors.h(14,45): note: 可能是"UClass StaticClass(void)"
template inline UClass
StaticClass()
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): note: “UClass *StaticClass(void)”: 无法推导"ClassType"的 模板 参数
GAMEPLAYATTRIBUTE_REPNOTIFY(URFTSAttributeSet, Stamina, OldStamina);
^
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): error C2059: 语法错误:“)”
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): error C3861: “GetOwningAbilitySystemComponentChecked”: 找不到标识符
C:\RFTS\Plugins\RFTSGameCore\Source\RFTSGameCore\Core\RFTSAttributeSet.cpp(55,5): error C2065: “Stamina”: 未声明的标识符
[55/62] Compile [x64] ChaosStanceModifier.cpp
[56/62] Compile [x64] NetworkChaosMoverData.cpp
[57/62] Link [x64] UnrealEditor-ChaosMover.lib
正在创建库 C:/RFTS/Plugins/ChaosMover/Intermediate/Build/Win64/x64/UnrealEditor/Development/ChaosMover/UnrealEditor-ChaosMover.lib 和对象 C:/RFTS/Plugins/ChaosMover/Intermediate/Build/Win64/x64/UnrealEditor/Development/ChaosMover/UnrealEditor-ChaosMover.exp
[58/62] Link [x64] UnrealEditor-RFTS.dll
[59/62] Link [x64] UnrealEditor-ChaosMover.dll
Total time in Unreal Build Accelerator local executor: 92.26 seconds

Result: Failed (OtherCompilationError)
Total execution time: 96.11 seconds
Trace written to file C:\Users\Aa\AppData\Local\UnrealBuildTool\Trace.uba with size 47.4kb

[ERROR] Build failed! Exit code: 6
Scroll up for details.
按 Enter 键继续…:

你好!我是 Epic Developer Assistant。看到你提供的这些报错信息,我非常理解你的困扰。这组报错展示了典型的 “多米诺骨牌效应”

在 UE 5.8 Preview(以及 5.x 系列)中,当你修复了 RFTSGAMECORE_API 之后,编译器仍然报错,是因为 Unreal Header Tool (UHT) 生成的中间代码已经"污染"了

核心病灶诊断

  1. UHT 缓存中毒 (Error C2039/C2618):报错指出 Stamina 不是成员。这是因为 RFTSAttributeSet.gen.cpp 是基于你之前错误的 RFTS_API 生成的。UHT 在处理错误的宏时,未能正确将属性注册到类中,导致生成的 .gen.cpp 文件和你的 .h 文件逻辑脱节。

  2. 类型解析链断裂 (Error C3646):由于 #include "AttributeSet.h" 可能在之前的编译中由于路径或宏问题失效,导致 FGameplayAttributeData 被视为未知类型。当类型未知时,后续的 ATTRIBUTE_ACCESSORS 宏会解析为错误的函数签名,引发连带的 C2535(重复定义)错误。

彻底修复方案

请按照以下顺序执行操作,不要跳过清理步骤,因为 Intermediate 文件夹中的旧代码不会自动修正。

第一步:修正插件 Build.cs

确保你的 RFTSGameCore.Build.cs 包含所有必要的 GAS 模块依赖:

C#


// Plugins/RFTSGameCore/Source/RFTSGameCore/RFTSGameCore.Build.cs
using UnrealBuildTool;
using System.IO;
public class RFTSGameCore : ModuleRules
{
public RFTSGameCore(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[] {
"Core", "CoreUObject", "Engine",
"GameplayAbilities", "GameplayTags", "GameplayTasks",
"NetCore"// 增加此项以确保 DOREPLIFETIME 正常工作
});
// 允许内部跨文件夹包含
PublicIncludePaths.Add(ModuleDirectory);
}
}

第二步:规范化 RFTSAttributeSet.h

请务必手动定义 ATTRIBUTE_ACCESSORS(或使用 5.6+ 的 ATTRIBUTE_ACCESSORS_BASIC),并显式包含头文件:

C++


#pragma once
#include "CoreMinimal.h"
#include "AttributeSet.h"
#include "AbilitySystemComponent.h"
#include "Net/UnrealNetwork.h" // 解决 DOREPLIFETIME 报错
#include "RFTSAttributeSet.generated.h"
// 必须手动定义此宏,除非你在模块的公用头文件中定义过
#define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \
GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName)
UCLASS()
class RFTSGAMECORE_API URFTSAttributeSet : public UAttributeSet
{
GENERATED_BODY()
public:
URFTSAttributeSet();
UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_Health)
FGameplayAttributeData Health;
ATTRIBUTE_ACCESSORS(URFTSAttributeSet, Health)
UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_MaxHealth)
FGameplayAttributeData MaxHealth;
ATTRIBUTE_ACCESSORS(URFTSAttributeSet, MaxHealth)
// 其他属性以此类推 (Shield, Fuel, Stamina)...
UFUNCTION()
virtual void OnRep_Health(const FGameplayAttributeData& OldHealth);
UFUNCTION()
virtual void OnRep_MaxHealth(const FGameplayAttributeData& OldMaxHealth);
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
};

第三步:强制"全净空"编译 (最关键)

由于你使用的是 5.8 Preview,UHT 的缓存非常固执。请执行以下物理删除操作:

  1. 关闭 VS 和 Unreal Editor。

  2. 删除项目根目录的 IntermediateBinaries 文件夹。

  3. 特别注意:进入 Plugins/RFTSGameCore/ 文件夹,删除里面的 IntermediateBinaries 文件夹

  4. 右键 .uprojectGenerate Visual Studio project files

  5. 问了官方的AI之后得到了解决方案,已解决打开 VS,选择 Rebuild Solution(不要只选 Build)。

**

为什么之前报错找不到 Stamina?**

FGameplayAttributeData 因为包含路径或宏问题解析失败时,UHT 会跳过这些属性的元数据生成。然而,.gen.cpp 文件中依然保留了对这些属性的引用(如 STRUCT_OFFSET)。当编译器尝试编译这个生成的 C++ 文件时,发现 URFTSAttributeSet 内部并没有成功定义的 Stamina 成员,于是报错。

消除(Eliminate)这些错误后,你的 GAS 系统在插件中应该能正常运作。 请尝试以上步骤,如果仍有报错,请再次提供最新的日志。