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


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

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

编译报错如下图所示:

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

 

 

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

 

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

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

 

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

 

解决方式如下:

 

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

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

 

知乎地址:https://zhuanlan.zhihu.com/p/423951315


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM