Vixen
02b45cc4
csharp
public static class NativeLibraryNames

What a native library's file is actually called.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

A DllImport names a library the way its author thinks of it — vulkan, SDL2 — and every operating system spells that differently. The default resolution rules cover the common spellings; what they do not cover is the **versioned soname**, which on Linux and macOS is the file that actually exists.

libvulkan.so and libvulkan.dylib are development symlinks, installed by the -dev package and absent from a runtime-only install. The real files are libvulkan.so.1 and libvulkan.1.dylib. A machine with a working Vulkan and no SDK installed therefore fails to load a library that is sitting right there, and the exception says nothing about which name it tried. That is not hypothetical: it is the first thing that went wrong when the Vulkan backend met a real driver, and it is recorded in VulkanLoader's own remarks.

Methods (2)

  • public static IEnumerable<string> For(string library, params ReadOnlySpan<string> versions)

    Every file name a library might have on this platform, most likely first.

  • public static IEnumerable<string> ForPlatform(string library, bool windows, bool macOS, IReadOnlyList<string> versions)

    The same, for a platform that is not this one.

Used by (7)

  • NativeEglApiVixen.Graphics.OpenGL
  • NativeLibrariesVixen.Platform.Native
  • NativeResolutionTestsVixen.Platform.Native.Tests
  • OpenALLoaderVixen.Audio.Backend.OpenAL
  • SdlLibraryVixen.Platform.Desktop
  • VulkanLoaderVixen.Graphics.Vulkan
  • WebGpuLoaderVixen.Graphics.WebGPU