UEでC++のコードを追加する際に、リンクエラーが結構な頻度で発生してしまい、四苦八苦するエンジニアの姿は、よく見る光景に思います。
その度に、『これ何?』と調べつつ、色々、弄りまわして、『直った』と安心し作業に戻ります。
しかし、調べた過程をどこかに置いておいて、メモしていなかったりして、同じ問題が発生した際に、『これ何したっけ?』とまた、同じ事を調べ直すのもよくある光景だと思います。
そんな、負の連鎖に終止符を打つべく、今回は、対処した事を覚えている内にQitaに残しておいて、未来の自分を助けてあげたいと思います。
確認環境
Windows 11 Pro
UnrealEngine 5.3.2
Visual Studio 2022
C++を追加した際のルーティン
C++クラスを追加する際の個人的なやっているルーティンです。
エディタからプロジェクトにC++クラスを追加して、ビルドが一度で通った成功体験がありません。
その為、以下の事をやるようにしています。
- エディタを一度落とす
- DerivedDataCache、Intermediate、Savedを削除する
- uprojectをダブルクリックしてプロジェクトの起動してみる。2で削除したファイルを復元する為なので、起動できなくてもOK
- Generate Visual Studio Project Filesを実行しsinファイルを作り直す
起きた問題
今回は、発生した問題は、『Generate Visual Studio Project Files』を実行した際に画像のようなダイアログが発生し、『エディタも起動しない』『VisualStudioも起動しない』状態になり、困りました。
実際のエラー文です。
Running E:/Workspace/Engine/UE_5.3/Engine/Build/BatchFiles/Build.bat -projectfiles -project="E:/Workspace/Test/BakeTrailUE/BakeTrailUE.uproject" -game -rocket -progress -log="E:\Workspace\Test\BakeTrailUE/Saved/Logs/UnrealVersionSelector-2024.01.23-17.26.30.log"
Using bundled DotNet SDK version: 6.0.302
ERROR: UnrealBuildTool.dll not found in "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll"
対応した事
対応した事は、解決してみれば簡単で
エンジンのインストール先\Engine\Binaries\DotNET\UnrealBuildTool
ここが、UnrealBuildToolのプロジェクトになっており、『UnrealBuildToolのソリューションを立ち上げてビルドし直した』だけです。
ビルド後に、無事にプロジェクトのsinファイルが作成されて安心しました。
『UnrealBuildTool.dll』は、PCを検索すると、別のパスに存在していた為、このDLLを移動させるだけでも良かったかもしれません。
それが不安だったので、今回はしていません。
同じケースでハマっている方の手助けになればと思います。
今回は、以上です。