簡述:
- 關掉 UE4 編輯器和 VS
- 在資源管理器中刪掉該類的頭文件和CPP文件
- 清理所有二進制文件,比如各種項目生成的 DLL 和 UE4Editor.exe 等
- 重新運行工程生成過程, GenerateProjectFiles.bat
- 重新打開 UE4.sln,編譯引擎
虛幻問答論壇上有這方面的提問:
https://answers.unrealengine.com/questions/166179/how-do-i-remove-a-c-class-from-my-project-code.html
忽略了UE.sin的生成,釀成大錯
在刪除Binaries目錄內二進制文件后,重新生成VS工程時,忽略了解決方案下還有個UE工程,只編譯了代碼工程,導致在Unreal內只要涉及C++的修改,比如我想創建個C++文件,編輯器就掛/(ㄒoㄒ)/~~
忽略我命名錯誤,應該是Battery,懶得改了,改不好編輯器由報錯或者崩潰,亂七八糟的一堆...
因為我只編了BalleryController工程,其實應該編BalleryController解決方案的,不然你只編了用戶自定義代碼,系統代碼沒編
附上編輯器的崩潰報錯:EXCEPTION_ACCESS_VIOLATION reading address
大概意思是尋址錯誤,引用到了一個空指針。
但是為啥這么多個版本過去了,虛幻就不能像Unity那樣可以在編輯器內直接刪除呢?還要搞這么多操作步驟,我懷疑它內部不像Unity一樣集成了Mono編譯器,而是依賴外部編譯工具。