今天在用UE4 開發時,C++引用了Niagara插件,編譯報錯,想了很多辦法,都沒能解決問題,最后還是請教大牛,幫忙給解決了,再次感謝大牛^_^
這里分享下經驗,供大家參考:
編譯報錯如下圖所示:
首先,澄清下,我在build.cs文件中,加入了Niagara插件和module的引用
自我感覺我的引用方式是沒問題的,所以一直沒有找到報錯原因。
閑話不多說了,下面說問題出現原因及解決方式:
首先看下我的使用方式(罪魁禍首):
我在頭文件中,引入了NiagaraComponent的頭文件,並定義了一個成員變量。這就導致了c++編譯器的強關聯編譯,不知道為什么UE4就找不到引擎本身插件中的文件,猜測是因為臨時文件目錄不在include中,所以不會自動查找,其實還是建議ue引擎做的更智能一些,把Intermediate目錄加入到頭文件引用目錄列表中去。
解決方式如下:
去掉頭文件引用,在定義成員變量的地方,加上前綴class,改為在頭文件中聲明要用到的類,然后在源文件中引用對應頭文件
好了,今天的分享就到這里,希望大家不要入同樣的坑!!!
知乎地址:https://zhuanlan.zhihu.com/p/423951315