Skip to content

Fix UE 5.8 / Clang 20 compile errors (Linux) - #448

Open
maximaza wants to merge 1 commit into
VoxelPlugin:masterfrom
maximaza:fix-ue-5.8-linux-clang20
Open

maximaza wants to merge 1 commit into
VoxelPlugin:masterfrom
maximaza:fix-ue-5.8-linux-clang20

Conversation

@maximaza

Copy link
Copy Markdown

Compiling the plugin from source against UE 5.8.2 on Linux (Clang 20.1.8, bundled toolchain) produces several hard errors even on the latest master (which already has 5.8 support). These appear to be Linux/Clang-specific — likely not triggered on Windows/MSVC.

Fixes:

VoxelDiff.h: explicit template argument on operator<< collided with the engine's generic operator<< in StringBuilder.h (5.8 added C++20 concepts there).
VoxelDefaultPool.cpp: const members PriorityCategories/PriorityOffsets are now required to be initialized in the constructor's init list.
VoxelMathUtilities.h: XWayBlend_StrengthsToAlphas_Static overload was ambiguous under stricter overload resolution; constrained the "misuse" overload with std::enable_if_t.
VoxelWorld.cpp, ActorFactoryVoxelPlaceableItems.cpp, VoxelEditorToolsPanel.cpp: -Wunreachable-code-loop-increment treated as error by Clang 20; rewrote the "take first element" loops without the trailing increment.
.Build.cs files: disabled warnings-as-errors as a general safety net.

Tested on CachyOS Linux, UE 5.8.2, bundled Clang 20.1.8.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant