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