Skip to content

[Windows Ninja Clang/LLVM] Failed to load GetEngineFactoryXXX function from GraphicsEngineXXX_64d.dll library #350

Open

Description

@LeSnow-Ye

Platform: Windows 11

The whole project is basically the same as Samples/GLFWDemo, but linked to DiligentEngine using add_subdirectory.

A: Using Ninja + Clang/LLVM toolchain:

  • Vulkan: Successfully built. Failed to run:
    • Failed to load GetEngineFactoryVk function from GraphicsEngineVk_64d.dll library
    • at IEngineFactoryVk* pFactoryVk = LoadAndGetEngineFactoryVk();
  • OpenGL: Successfully built. Failed to run:
    • Failed to load GetEngineFactoryOpenGL function from GraphicsEngineOpenGL_64d.dll library
    • at IEngineFactoryOpenGL* pFactoryOpenGL = LoadAndGetEngineFactoryOpenGL();
  • DX11/DX12: Successfully built. Runs well.

B: Using Visual Studio 17 2022 + MSVC:

  • All: Successfully built. Runs well.

Copy GraphicsEngineXXX_64d.dll from B into A: Runs well.

Activity

  1. TheMostDiligent commented on Aug 24, 2025

    @TheMostDiligent
    Contributor

    So the problem is that when building with clang, DX11/DX12 works well, but Vulkan/OpenGL fails to get the GetEngineFactory* function from the DLL?
    This is strange, all factories are implemented identically in all backends.

  2. LeSnow-Ye commented on Aug 24, 2025

    @LeSnow-Ye
    Author

    So the problem is that when building with clang, DX11/DX12 works well, but Vulkan/OpenGL fails to get the GetEngineFactory* function from the DLL? This is strange, all factories are implemented identically in all backends.

    Yes? I'm new to C++. So I don't know much about what's going on. I just tried these setups. If additional information is needed, please let me know.

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

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