Skip to content

Error to compile Rive 0.2.6 on UE 5.5.2 project #148

@giovanni-d

Description

@giovanni-d

I'm trying to integrate Rive into my Unreal Engine (UE) C++ project, but I'm running into a compilation error.

Setup:

  • Rive is added as a git submodule in the Plugins/Rive directory.
  • The submodule points to this repo at version 0.2.6.

Environment:

  • Windows 10
  • Unreal Engine 5.5.2
  • Rive 0.2.6

Problem: When compiling the plugin, I get the following error:

------ Building 17 action(s) started ------
** For ProjectGEditor-Win64-Development **
[1/17] WriteMetadata UnrealEditor.version (ProjectGEditor) (UBA disabled)
[2/17] Compile [x64] Module.RiveStats.cpp
[3/17] Link [x64] UnrealEditor-RiveStats.lib
[4/17] Link [x64] UnrealEditor-RiveStats.dll
   Creating object E:\ProjectG\Plugins\Rive\Binaries\Win64\UnrealEditor-RiveStats.exp
[5/17] Compile [x64] Module.RiveShaders.cpp
[6/17] Link [x64] UnrealEditor-RiveShaders.lib
[7/17] Link [x64] UnrealEditor-RiveShaders.dll
   Creating object E:\ProjectG\Plugins\Rive\Binaries\Win64\UnrealEditor-RiveShaders.exp
[8/17] Compile [x64] Module.RiveRenderer.cpp
11>RenderContextRHIImpl.hpp(113): Error C2039 : 'LITE_RTTI_OVERRIDE': is not a member of 'rive'
11>buffer_ring.hpp(9): Reference C2039 : see declaration of 'rive'
11>RenderContextRHIImpl.hpp(113): Error C2504 : 'LITE_RTTI_OVERRIDE': base class undefined
11>RenderContextRHIImpl.hpp(113): Error C2143 : syntax error: missing ',' before '('
11>RenderContextRHIImpl.hpp(123): Error C3668 : 'RenderBufferRHIImpl::onMap': method with override specifier 'override' did not override any base class methods
11>RenderContextRHIImpl.hpp(124): Error C3668 : 'RenderBufferRHIImpl::onUnmap': method with override specifier 'override' did not override any base class methods
11>RenderContextRHIImpl.cpp(354): Error C2614 : 'RenderBufferRHIImpl': illegal member initialization: 'lite_rtti_override' is not a base or member
11>RenderContextRHIImpl.cpp(375): Error C3861 : 'flags': identifier not found
11>RenderContextRHIImpl.cpp(380): Error C3861 : 'sizeInBytes': identifier not found
11>RenderContextRHIImpl.cpp(636): Error C2039 : 'clipSpaceBottomUp': is not a member of 'rive::gpu::PlatformFeatures'
11>gpu.hpp(94): Reference C2039 : see declaration of 'rive::gpu::PlatformFeatures'
11>RenderContextRHIImpl.cpp(637): Error C2039 : 'framebufferBottomUp': is not a member of 'rive::gpu::PlatformFeatures'
11>gpu.hpp(94): Reference C2039 : see declaration of 'rive::gpu::PlatformFeatures'
11>RenderContextRHIImpl.cpp(1044): Error C2440 : 'return': cannot convert from 'rive::rcp<RenderBufferRHIImpl>' to 'rive::rcp<rive::RenderBuffer>'
11>RenderContextRHIImpl.cpp(1044): Reference C2440 : No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
11>RenderContextRHIImpl.cpp(1207): Error C2039 : 'gradSpanCount': is not a member of 'rive::gpu::FlushDescriptor'
11>gpu.hpp(764): Reference C2039 : see declaration of 'rive::gpu::FlushDescriptor'
11>RenderContextRHIImpl.cpp(1220): Error C2039 : 'firstGradSpan': is not a member of 'rive::gpu::FlushDescriptor'
11>gpu.hpp(764): Reference C2039 : see declaration of 'rive::gpu::FlushDescriptor'
11>RenderContextRHIImpl.cpp(1230): Error C2039 : 'gradDataHeight': is not a member of 'rive::gpu::FlushDescriptor'
11>gpu.hpp(764): Reference C2039 : see declaration of 'rive::gpu::FlushDescriptor'
11>RenderContextRHIImpl.cpp(1232): Error C2039 : 'gradSpanCount': is not a member of 'rive::gpu::FlushDescriptor'
11>gpu.hpp(764): Reference C2039 : see declaration of 'rive::gpu::FlushDescriptor'
11>RenderContextRHIImpl.cpp(1221): Error C2660 : 'AddGradientPass': function does not take 6 arguments
11>RivePassFunctions.h(31): Reference C2660 : see declaration of 'AddGradientPass'
11>RenderContextRHIImpl.cpp(1221): Reference C2660 : while trying to match the argument list '(FRDGBuilder, TRDGUniformBuffer<TBufferStruct> *, FVertexDeclarationRHIRef, FRDGTextureRef, FBufferRHIRef, FUint32Rect)'
        with
        [
            TBufferStruct=FFlushUniforms
        ]
11>RenderContextRHIImpl.cpp(1311): Error C2039 : 'SwizzleRiveColorToRGBAPremul': is not a member of 'rive::gpu'
11>constants.glsl.hpp(6): Reference C2039 : see declaration of 'rive::gpu'
11>RenderContextRHIImpl.cpp(1311): Error C3861 : 'SwizzleRiveColorToRGBAPremul': identifier not found
11>RenderContextRHIImpl.cpp(1597): Error C2039 : 'sizeInBytes': is not a member of 'RenderBufferRHIImpl'
11>RenderContextRHIImpl.hpp(112): Reference C2039 : see declaration of 'RenderBufferRHIImpl'
11>RenderContextRHIImpl.cpp(1596): Error C2660 : 'AddDrawImageMeshPass': function does not take 3 arguments
11>RivePassFunctions.h(112): Reference C2660 : see declaration of 'AddDrawImageMeshPass'
11>RenderContextRHIImpl.cpp(1596): Reference C2660 : while trying to match the argument list '(FRDGBuilder, FRiveCommonPassParameters *, ParameterStructType *)'
        with
        [
            ParameterStructType=FRiveImageMeshPassParameters
        ]
11>RivePassFunctions.cpp(109): Error C2039 : 'GRAD_SPAN_TRI_STRIP_VERTEX_COUNT': is not a member of 'rive::gpu'
11>RiveRenderTargetD3D11.h(14): Reference C2039 : see declaration of 'rive::gpu'
11>RivePassFunctions.cpp(109): Error C2065 : 'GRAD_SPAN_TRI_STRIP_VERTEX_COUNT': undeclared identifier
11>RivePassFunctions.cpp(107): Error C2660 : 'FRHICommandList::DrawPrimitive': function does not take 2 arguments
11>RHICommandList.h(3587): Reference C2660 : see declaration of 'FRHICommandList::DrawPrimitive'
11>RivePassFunctions.cpp(107): Reference C2660 : while trying to match the argument list '(int, const uint32_t)'
11>RiveRenderCommand.cpp(18): Error C2660 : 'rive::computeAlignment': function does not take 5 arguments
11>renderer.hpp(28): Reference C2660 : see declaration of 'rive::computeAlignment'
11>RiveRenderCommand.cpp(18): Reference C2660 : while trying to match the argument list '(rive::Fit, rive::Alignment, rive::AABB, rive::AABB, const float)'
[9/17] Compile [x64] Module.RiveEditor.cpp
[10/17] Link [x64] UnrealEditor-RiveEditor.lib
[11/17] Compile [x64] Module.Rive.cpp
[12/17] Link [x64] UnrealEditor-Rive.lib
Trace file written to E:/UE_5.5.2/Engine/Programs/UnrealBuildTool/Log.uba with size 13.0kb
Total time in Unreal Build Accelerator local executor: 13.18 seconds
Total execution time: 25.69 seconds
11>Microsoft.MakeFile.Targets(44,5): Error MSB3073 : The command "E:\UE_5.5.2\Engine\Build\BatchFiles\Build.bat -Target="ProjectGEditor Win64 Development -Project=\"E:\ProjectG\ProjectG.uproject\"" -Target="ShaderCompileWorker Win64 Development -Project=\"E:\ProjectG\ProjectG.uproject\" -Quiet" -WaitMutex -FromMsBuild -architecture=x64" exited with code 6.

Any help would be greatly appreciated!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions