環境
・UE4.23.1
・Visual Studio Comuunity 2019
UE4のUnreal C++環境について
リリース時のUE4のUnreal C++はC++11をベースに一部C++14で開発されていました
jp docだとC++11, us docだとC++14と記載されています。
Coding Standard | Unreal Engine Documentation
コーディング標準 | Unreal Engine ドキュメント
しかし、現在はC++17以降も使用できるようになっています。
ちょうどUE4.22でVisual Studio 2015のサポートを(基本的には)終了した頃からでしょうか。
※基本的にはと書いたのはtarget.csにCompilerの指定を書けばVS2015でも動作するためです。
おさらいとして、UE4で使用するIDEの変更方法についての記事も載せておきます。
papersloth.hatenablog.com
UE4のC++のバージョン指定方法
UE4で使用されるC++のバージョン指定はProjectのtarget.cs内に記述をすることで変更が可能です。
以下はプロジェクト作成時の target.csです
using UnrealBuildTool; using System.Collections.Generic; public class ProjectNameTarget : TargetRules { public ProjectNameTarget(TargetInfo Target) : base(Target) { Type = TargetType.Game; ExtraModuleNames.AddRange(new string[] { "ProjectName" }); } }
C++のバージョン指定は下記を追記するだけで行なえます。
CppStandard = CppStandardVersion.{任意のバージョン};
using UnrealBuildTool; using System.Collections.Generic; public class ProjectNameTarget : TargetRules { public ProjectNameTarget(TargetInfo Target) : base(Target) { Type = TargetType.Game; ExtraModuleNames.AddRange(new string[] { "ProjectName" }); CppStandard = CppStandardVersion.Cpp17; //C++17を指定 // C++14の場合 -> CppStandardVersion.Cpp14 // 最新のC++の場合 -> CppStandardVersion.Latest } }