UE4 关联引用导致***.generated.h找不到问题

今天在用UE4 开发时,C++引用了Niagara插件,编译报错,想了很多办法,都没能解决问题,最后还是请教大牛,帮忙给解决了,再次感谢大牛^_^

这里分享下经验,供大家参考:

编译报错如下图所示:

UE4 关联引用导致***.generated.h找不到问题

首先,澄清下,我在build.cs文件中,加入了Niagara插件和module的引用

UE4 关联引用导致***.generated.h找不到问题

 UE4 关联引用导致***.generated.h找不到问题

 

 自我感觉我的引用方式是没问题的,所以一直没有找到报错原因。

 

闲话不多说了,下面说问题出现原因及解决方式:

首先看下我的使用方式(罪魁祸首):

UE4 关联引用导致***.generated.h找不到问题

UE4 关联引用导致***.generated.h找不到问题

 

 我在头文件中,引入了NiagaraComponent的头文件,并定义了一个成员变量。这就导致了c++编译器的强关联编译,不知道为什么UE4就找不到引擎本身插件中的文件,猜测是因为临时文件目录不在include中,所以不会自动查找,其实还是建议ue引擎做的更智能一些,把Intermediate目录加入到头文件引用目录列表中去。

 

解决方式如下:

UE4 关联引用导致***.generated.h找不到问题

 

去掉头文件引用,在定义成员变量的地方,加上前缀class,改为在头文件中声明要用到的类,然后在源文件中引用对应头文件

好了,今天的分享就到这里,希望大家不要入同样的坑!!!

上一篇:UE4用蓝图制作可以使用富文本并且逐字显示的简单对话系统


下一篇:如何改造UE4用于赛璐璐3D卡渲?这里有一份日本大厂的实操分享