You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建UBTService子类时出现未解析外部符号错误,求解决方案

解决UBTService子类编译未解析外部符号问题
  • 添加AIModule依赖:打开项目对应模块的.Build.cs文件,在PublicDependencyModuleNames或PrivateDependencyModuleNames数组中加入"AIModule",示例代码:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "AIModule" });
    
  • 校验类的声明与实现:

    • 头文件中确保类正确继承UBTService并包含GENERATED_BODY()宏,示例:
      UCLASS()
      class YOURPROJECT_API UMyBTService : public UBTService
      {
          GENERATED_BODY()
      public:
          UMyBTService();
          virtual void TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds) override;
      };
      
    • 源文件中正确实现构造函数和重写方法,构造函数需调用父类逻辑,示例:
      UMyBTService::UMyBTService()
      {
          NodeName = TEXT("Custom BT Service");
      }
      
      void UMyBTService::TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds)
      {
          Super::TickNode(OwnerComp, NodeMemory, DeltaSeconds);
          // 自定义业务逻辑
      }
      
  • 清理重建项目:

    • 关闭Unreal Editor和IDE,删除项目目录下的Binaries、Intermediate、Saved文件夹
    • 右键项目.uproject文件,选择Generate Visual Studio Project Files(针对VS环境)
    • 重新打开IDE,执行清理解决方案操作后重新编译
  • 适配UE版本:确认重写的BTService方法签名与当前使用的UE版本匹配,部分版本中API存在细微调整,比如TickNode的参数格式。

内容的提问来源于stack exchange,提问作者Alejandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:51:59