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

UE5.4创建ACharacter子类C++编译失败求助

针对UE5.4.2创建ACharacter子类编译失败的排查方案

1. 检查自动生成代码的语法问题

UE编辑器创建ACharacter子类时,偶尔会生成存在语法缺陷的代码,重点核对以下内容:

  • 头文件必须包含#include "Character.h",不能仅保留默认的#include "CoreMinimal.h"
  • 类声明需正确继承ACharacter,示例:
    UCLASS()
    class YOURPROJECT_API AYourCharacter : public ACharacter
    {
        GENERATED_BODY()
        // 其他成员代码
    };
    
  • 源文件中要确保包含子类头文件,且构造函数正确调用父类逻辑(UE自动生成代码偶尔会缺失该部分):
    AYourCharacter::AYourCharacter()
    {
        PrimaryActorTick.bCanEverTick = true;
    }
    

2. 补全项目Build.cs依赖

确认项目的Build.cs文件中已添加Character模块依赖,Pawn子类默认不会包含该模块,这是高频遗漏点:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Character" });

3. 彻底清理编译缓存

  • 关闭UE编辑器、VS及Rider所有进程
  • 删除项目目录下的Binaries、Intermediate、Saved文件夹
  • 右键项目.uproject文件,选择Generate Visual Studio project files
  • 重新打开IDE执行Rebuild操作(不要用Build)

4. 强制指定兼容的MSVC工具链

UE5.4.2官方推荐MSVC 14.36(对应VS2022 17.6),当前VS2022 17.10.3自带更高版本工具链,可能存在兼容问题:

  • 确保VS Installer中已安装MSVC v14.36-17.6 toolset
  • 打开项目Config/BuildConfiguration.xml,添加配置强制指定工具链:
    <Configuration>
        <WindowsPlatform>
            <Compiler>VisualStudio2022</Compiler>
            <ToolChainVersion>14.36.32532</ToolChainVersion> <!-- 替换为你安装的14.36具体版本号 -->
        </WindowsPlatform>
    </Configuration>
    
  • 重新生成项目文件后编译

5. 排查Rider编译配置干扰

  • 打开Rider的File > Settings > Build, Execution, Deployment > Toolchains,确认选中MSVC 14.36版本的工具链
  • 临时禁用Rider的Unreal Engine Toolkit插件后重试编译,排除插件冲突

6. 测试空白项目验证环境

创建全新的UE5.4.2空白C++项目,直接创建ACharacter子类,若能正常编译,说明原项目存在配置损坏,可逐步迁移代码和资源到新项目中。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:00:54