天天看點

Unreal4 C++ 錯誤指引(持續更新)

    相信同學們現在開始用C++的開發方式去完成某些功能或是去嘗試了解UnrealEngine4内部運用流程,這個過程自然少不了與Epic自己包裝的C++打交道。

    當然與UnrealEngine4的C++必須要遵守UE4工程的規則,比如整個工程配置基本是使用[NMaker]配置完成。在代碼編譯前需要先編譯[UnrealHeaderTool]工具,再由[UnrealHeaderTool]去編譯我們自己的工程。當然整個編譯的過程與UnrealEngine3一樣使用指令行編譯(為了解決擴平台和脫離IDE)。在整個Windows編譯的過程中各種\UnrealEngine\Engine\Build\BatchFiles\檔案夾下的批處理檔案開始互相調用....

(好吧 通常我們不需要關注這些)。

    既然UnrealEngine4有自己的規則,那麼我們在摸索中更新會越到各種各樣的問題。下面就是筆者遇到的問題集錦分享給大家,希望大家可以快解決問題,少走彎路。

    1. 編譯時出現下面2條錯誤的話,請千萬不要質疑是UnrealEngine4引擎編譯工具有問題或者自動生成的工程配置有問題,問題隻有一個就是自己的代碼有問題。

如下:

    EXEC : error : Failed to generate code for

XXXX(XXXX是自己工程的名稱)    和

    EXEC : error : UnrealHeaderTool failed for target

‘PandaEditor‘ (platform: Win64, module

info:C:\Users\User\Documents\UnrealProjects\Panda\Intermediate\Build\Win64\PandaEditor\Development

 \UnrealHeaderTool.manifest).

    這個錯誤解決方法:請檢查代碼.h檔案中是否存在頭檔案交叉引用的問題。如果真的需要互相引用請嘗試在你的類名前[+class],然後在.cpp中引用頭檔案進行使用。

    當然這個錯誤是[UnrealHeaderTool]産生的,[UnrealHeaderTool]排查錯誤的能力不夠強大不能準确的提示編譯錯誤,很多問題會導緻這個問題。如果發現[EXEC

: error : Failed to generate code for XX]請同學們仔細排查代碼

Unreal4 C++ 錯誤指引(持續更新)