現象
他の人から譲渡されたUE4のプロジェクトを開こうとすると、コンパイルエラーが出て開けない現象が起きていました。
具体的な現象は以下です。
.uprojectファイルをダブルクリックするなどして、UE4で開く操作をします。
すると、以下のダイアログが出ます。
The following modules are missing or built with a different engine version:
UE4Editor-[パッケージ名].dll
Would you like to rebuild them now?
「UE4Editor-[パッケージ名].dll がないか、現在インストールされているUE4のバージョンとの互換性がない」と言われています。
再度ビルドするかという問いに「はい」を選択します。
ビルドが始まりますが、最終的に以下のエラーダイアログが出てビルドに失敗します。
[パッケージ名] could not be compiled. Try rebuilding from source manually.
「コンパイルに失敗したから手動でソースコードをビルドし直せ」と言ってきています。
対処法
1. UE4プロジェクトから.sln(Visual Studio ソリューション)を生成する
エクスプローラーで.uproject ファイルを右クリックします。
Generate Visual Studio Project Files を選択します。
.sln ファイル (Visual Studio ソリューション) が生成されます。
2. 生成したソリューションをVisual Studioで開いて編集する
生成したソリューションをVisual Studioで開いてビルドを実行してみると、コンパイルエラーになりました。
ソリューションの中のソースファイルなどを編集し、コンパイルエラーを解消します。
(私の場合、#include
で指定していた外部ライブラリのソースファイルが一部消えていたのが原因でした)
3. 再度UE4プロジェクトを開く
コンパイルエラーが解消され、Visual Studioでビルドが成功するようになったら、再度UE4プロジェクトを開いてみましょう。
ダイアログが出ることなくUE4が立ち上がり、プロジェクトが無事に開きました。
備考
Visual Studio がインストールされていない環境での対処は私は試していません。
IDEがなくてもUE4プロジェクトフォルダより下にあるC++のソースファイルを全て見ていけば解決できると思われます。