当前位置: 首页 > news >正文

UE5 UHT GENERATED_BODY() GENERATED_USTRUCT_BODY()

  • 你在 .h 文件中写的 GENERATED_BODY() 宏本身并不是 GetPrivateStaticClass() 函数的声明。

  • 实际上,GENERATED_BODY() 是一个预处理器宏,它会被 Unreal Header Tool (UHT) 处理。

  • UHT 会读取你的 .h 文件,识别 UCLASS() 和 GENERATED_BODY() 等宏,然后 生成额外的 C++ 代码,包括一个与你的类名相关的 *.generated.h 文件。

  • 在这个生成的 .generated.h 文件中,你就能找到 GetPrivateStaticClass() 函数的声明。

  • GENERATED_BODY() 宏的主要作用是 声明 一些必要的成员变量和函数,这些是 Unreal Engine 反射系统所需要的。

  • GetPrivateStaticClass() 函数的 实现 并不是直接在 GENERATED_BODY() 宏展开的代码中。

  • GetPrivateStaticClass() 函数的实现是由 UHT 在编译过程中生成的,并包含在编译后的目标文件(如 .obj 或 .cpp.obj)中。

https://www.reddit.com/r/unrealengine/comments/1brvcpm/compiling_issues_unresolved_external_symbol_in/

  1. 错误的宏 GENERATED_UCLASS_BODY()

    • GENERATED_UCLASS_BODY() 是 Unreal Engine 4 中用于生成类体的宏,但在 Unreal Engine 5 中,它已经被弃用,取而代之的是 GENERATED_BODY()

    • 如果你在 Unreal Engine 5 中使用 GENERATED_UCLASS_BODY(),可能会导致链接错误,因为引擎无法正确生成类的实现。

  2. 缺少 public: 关键字

    • 在 C++ 中,类成员的默认访问权限是 private。如果你在头文件中声明了方法但没有明确指定 public:,这些方法会被视为私有成员,无法在其他地方访问,从而导致链接错误。

http://www.lryc.cn/news/508957.html

相关文章:

  • 内网穿透ubuntu20 docker coplar
  • windows C++ TCP客户端
  • Linux xargs 命令使用教程
  • 什么是异步处理
  • 【解决问题】Java2DRenderer生成图片时中文乱码 Linux安装字体
  • WPF 依赖属性和附加属性
  • leetcode hot100 删除链表的第n个节点
  • MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
  • 记一MySQL连接速度慢的问题
  • asp.net core webapi项目中 在生产环境中 进不去swagger
  • 逆向攻防世界CTF系列63-secret-string-400
  • Datawhale AI 冬令营学习笔记-零编程基础制作井字棋小游戏
  • 分布式专题(10)之ShardingSphere分库分表实战指南
  • clickhouse解决suspiciously many的异常
  • 计算机的错误计算(一百九十)
  • STM32-笔记12-实现SysTick模拟多线程流水灯
  • 牛客网刷题 ——C语言初阶——BC114 小乐乐排电梯
  • web三、 window对象,延时器,定时器,时间戳,location对象(地址),本地存储-localStorage,数组去重new Set
  • 【EthIf-13】EthIfGeneral容器配置-01
  • ‘pnpm’ 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • ECMAScript 6-11 概述
  • sqlalchemy连接dm8 get_columns BIGINT VARCHAR字段不显示
  • 运动控制卡网络通讯的心跳检测之C#上位机编程
  • QT 控件定义为智能指针引发的bug
  • Scala项目(图书管理系统)
  • 前端开发 详解 Node. js 都有哪些全局对象?
  • 2024_12_20_生活记录
  • Sequelize ORM 现有表如何使用
  • ArcGIS Pro 3.4新功能3:空间统计新特性,基于森林和增强分类与回归,过滤空间自相关
  • H3C MPLS跨域optionB