Closed5

UE5 ソースからビルドした Engine を Git で共有する

PitekiPiteki

「Installed Build を作成する」をテスト中。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/create-an-installed

ここのページにあるように windows 10 環境では Windows 10 SDK をインストールしないと PDBCopy.exe が使用できなくてエラーが発生する。
RunUAT.bat をコマンドラインではなくバッチファイルから実行すると上記でエラーが出ても確認できないままウィンドウが静かに閉じて気づけないので注意。

PitekiPiteki

Installed Build の作成だけ上手くいかない。
UE5.sln を開いて VisualStudio でビルドしたエンジンは正常に動作するのに、RunUAT をやると何故かエラーが出る。

公式にあるとおりの RunUAT コマンドを実行

RunUAT.bat BuildGraph -script=Engine/Build/InstalledEngineBuild.xml -target="Make Installed Build Win64" -nosign -set:GameConfigurations=Development;Shipping -set:WithWin64=true -set:WithAndroid=false -set:WithDDC=false -set:WithLinux=false -set:WithLinuxArm64=false -set:WithIOS=false -set:WithTVOS=false -set:WithMac=false -clean

3 時間程度かかってエラーで終了。
コンソールにログファイルのパスが載っていたので開いてみると

CompilationResultException: OtherCompilationError

というエラーが書かれていた。
公式のページに

「その他のコンパイル エラー」メッセージを受信した場合、Linux ではこのコマンドに既知の問題があるため、-clean パラメータを削除して再試行します。

という記載があったが Linux ではないので関係ないかと思いつつも -clean を削除して再実行。
今度は時間がかからずに終了したがやっぱりエラー。

[1/390] Compile [x64] Module.AudioSynesthesiaCore.cpp
D:\Project\UnrealEngine\Engine\Plugins\Runtime\AudioSynesthesia\Source\AudioSynesthesiaCore\Private\PeakPicker.cpp(17) : error C4756: 定数演算でオーバーフローを起こしました。
   while compiling Audio::FPeakPicker::FPeakPicker
[2/390] Compile [x64] Module.LiveLink.cpp
D:\Project\UnrealEngine\Engine\Plugins\Animation\LiveLink\Source\LiveLink\Private\LiveLinkClient.cpp(1728) : error C4756: 定数演算でオーバーフローを起こしました。
   while compiling FLiveLinkClient_Base_DEPRECATED::PushSubjectData
[3/390] Compile [x64] Module.PoseSearch.3.cpp
D:\Project\UnrealEngine\Engine\Plugins\Animation\PoseSearch\Source\Runtime\Private\PoseSearchLibrary.cpp(134) : error C4756: 定数演算でオーバーフローを起こしました。
   while compiling FMotionMatchingState::Reset
[4/390] Compile [x64] Module.RenderCore.2.cpp
D:\Project\UnrealEngine\Engine\Source\Runtime\RenderCore\Private\RenderGraphPrivate.cpp(189) : error C4756: 定数演算でオーバーフローを起こしました。
   while compiling GetClobberValue

これらのエラーは初回でも発生していた。
該当のソースを見ると

PeakPicker.cpp (17)
		Settings.MeanDelta = FMath::Clamp(Settings.MeanDelta, 1e-6f, INFINITY);

と確かに C4756 が出そうな感じのコードにはなっている。
でもこのコードの変更履歴は 5 年前から変わってないようなので最近 UE 5.4.2 で突然発生したエラーではなさそう。

PitekiPiteki

ちょっとした凡ミスがあった。
クローンしたUEソースが 5.4.2-release のタグのものかと思っていたけど、実は 5.4 ブランチのものだった。
つまり 5.4.3 の開発中ソースをビルドしていた模様。
反省。

後日 5.4.2-release でやり直す予定。

このスクラップは4ヶ月前にクローズされました