another attempt at fixing fab store submission build issues for ue 5.8 which also changes msvc third-binary selection behavior on windows

This commit is contained in:
Mamadou Babaei
2026-07-21 19:09:02 +02:00
parent b5f7bb47e2
commit dba1f239f4
15 changed files with 264 additions and 336 deletions
+12
View File
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
This patch release attempts to resolve Microsoft Windows/MSVC build issues affecting Unreal Engine `5.8` Fab Store submissions for the `v2.9.x` release series.
### Fixed
- Another attempt at resolving build issues that affect Fab Store submissions caused by the following toolset mismatch: `MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance fatal error C1900: Il mismatch between 'P1' version '20250730' and 'P2' version '20240319'; LINK : fatal error LNK1257: code generation failed`.
### Changed
- Now, instead of forcing specific Windows binaries built with any specific MSVC toolset for third-party libraries based on the engine version, the third-party modules' `.Build.cs` files directly check the compiler version and select the corresponding binaries built for that specific toolset. The reason for enforcing this behavior is that, for UE `5.8` Fab builds, Fab Store appears to build its binaries against `v143: 14.44.35207` rather than `v145: 14.50.35717` when both toolsets are installed simultaneously. On local UE installations, when only `v143: 14.44.35207` is installed, the build can similarly fail due to a toolset mismatch. As a result, from this release onwards, the enforced binary selection behavior will be the default on all supported engine versions.
## [2.9.1] - 2026-07-17
This patch release addresses `v2.9.x` build issues on Microsoft Windows and MSVC.
@@ -114,31 +114,25 @@ public class SGCommonThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGConnectShmThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -114,31 +114,25 @@ public class SGConnectThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGCoreShmThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -114,31 +114,25 @@ public class SGCoreThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGFakeShmThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGFlatBuffersThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -119,31 +119,25 @@ public class SGFmtThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -114,31 +114,25 @@ public class SGLogThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -119,31 +119,25 @@ public class SGLoguruThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGNngThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -97,31 +97,25 @@ public class SGRapidYamlThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGSerialThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));
@@ -94,31 +94,25 @@ public class SGWjwwoodSerialThirdPartyLibs : ModuleRules
else if (bIsWin64)
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "windows"));
switch (Target.WindowsPlatform.Compiler)
Version compilerVersion = Version.Parse(Target.WindowsPlatform.CompilerVersion.ToString());
string toolsetVersion = $"{compilerVersion.Major}.{compilerVersion.Minor:D2}";
if (toolsetVersion == "14.50")
{
#if UE_5_7_OR_LATER
case WindowsCompiler.VisualStudio2026:
#if UE_5_8_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v145-1450"));
#elif UE_5_7_OR_LATER
}
else if (toolsetVersion == "14.44")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
#endif
case WindowsCompiler.VisualStudio2022:
#if UE_5_7_OR_LATER
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1444"));
#elif UE_5_5_OR_LATER
}
else if (toolsetVersion == "14.38")
{
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "v143-1438"));
#else
Debug.Assert(false, "Unsupported engine version or compiler!");
#endif
break;
default:
Debug.Assert(false, "Unsupported engine version or compiler!");
break;
}
else
{
Debug.Assert(false, "Unsupported MSVC toolset!");
}
LibraryPath = Path.GetFullPath(Path.Combine(LibraryPath, "x86-64"));