背景: UE4 C++ 工程 在编译的时候,出现 Unknown structure 等报错;
查询之后发现: 在C++ 中定义的结构体,暴露给蓝图之后, 重新创建了一个新的容器,包含了很多结构体。这个容器的数据类型 自己定义为:AllZMQDataPool
在Gameinstance 中定义 一个新的变量, 变量类型就是 AllZMQDataPool;在common func 中创建快速获取变量的方法。
在编译完成之后,打包时,出现上述问题。
废话少说,解决方案如下:
1, 直接修改 结构体容器的名字; 修改名字之后,从C++ 工程 重新编译一遍,然后重新打开工程,打包,解决;
2,如果只是零星的几个报错,并且你又不想更改名字,可以在报错的蓝图中,通过“文件”选项,选择 Refresh all nodes , 然后再次编译,重新打包,解决;
基本上就上述两种方法,亲自测试好用。