さっとさとのUE4ゲームのモバイル応援

あなたのモバイルアプリを贅沢に

MacでC++プロジェクト新規作成できない時の対処法

プロジェクトがコンパイルできませんでした。Xcode で開きますか?

 

いざ、C++を少しだけいじろうとした時、あれ、、、コンパイルに失敗!?

 

プロジェクトを作成するだけでエラーが出てくるとは思いませんでした。

 

そんな訳ですが、解決法をWebから見つけましたので、日本語で軽く紹介。

 

開発環境

ーーーーーーーーーーーーー

UE4.27.2

 

Xcode Version 13.4

ーーーーーーーーーーーーー

ステップ1

 

今回扱っていくMaterial.hを探しましょう!

 

Engine/Source/Runtime/Engine/Classes/Materials/Material.h

 

にあります。

 

ステップ2

 

見つけたら開きましょう。おそらくXcodeが開くでしょう。

 

そしたら簡単、ファイルの1279行目と1293行目をコメントアウトするだけ!!!

 

↓1279行目

const TArray<FText>* LayerNames = &LayersExpression->GetLayerNames();

 

↓1293行目

LayerNames = &LayersParameter.Value.LayerNames;

 

コメントアウトの仕方は、行の最初に//を置くだけでございます。

 

例:

// LayerNames = &LayersParameter.Value.LayerNames;

 

以上です!

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

追記

 

今回上記の処理で解決しましたが、その前に解決しなかったものの実行したものがありました。それがもしかしたら、コンパイル成功の引き金になっているかもしれないので、そちらも紹介させていただきます。

 

ステップ1’

 

いじっていくファイル、「MacToolChain.cs」を探しましょう!

 

/Users/Shared/Epic Games/UE_4.27/Engine/Source/Programs/UnrealBuildTool/Platform/Mac/MacToolChain.cs

にあります。

 

ステップ2’

 

そのファイルを開き、検索機能を使って

 

Result += " -Wundef" + (CompileEnvironment.bUndefinedIdentifierWarningsAsErrors ? "" : " -Wno-error=undef"); }

 

 

と検索したら、}の下から、

 

Result += " -Wno-deprecated";

Result += " -Wno-deprecated-declarations";

Result += " -Wno-int-to-void-pointer-cast";

Result += " -Wno-non-literal-null-conversion";

Result += " -Wno-overloaded-virtual";

Result += " -Wno-pointer-to-int-cast";

Result += " -Wno-pragma-once-outside-header";

Result += " -Wno-unused-but-set-variable";

Result += " -Wno-unused-function";

Result += " -Wno-unused-result";

Result += " -Wno-unused-variable";

を追加‼︎

インデントに注意!

          }

          Result += ~~~~

といった形にしましょう。

 

参考(そのまんま)

 

I faced some problem in unreal while changing from blueprint to c++ code in project setting in unreal engine 4.27.2 - #4 by ebasarane - Programming & Scripting - Unreal Engine Forums

 

Unreal won't compile my project on MacOS - #2 by douglaslassance - Ask - GameDev.tv