添UE4 C++关联引用导致***.generated.h找不到——解决办法

关山月

· C++,数字孪生

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

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

编译报错如下图所示:

broken image

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

broken image

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

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

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

broken image

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

解决方式如下:

broken image

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

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