The library name use with the DllImportAttribute to import the functions at run-time currently uses the Windows default naming convention of glfw3, as opposed to its Unix-like counterpart: glfw.
This causes anyone using the library on Linux/Mac to have to manually edit the library name and recompile, since they have no control over the name of native GLFW library as it gets installed on the system.
Since Windows users need only include the pre-built and portable binaries with their application, refactoring the native library name to glfw is trivial, and will not require editing the code or rebuilding, only the library name which they must provide themselves anyway.
Proposal is to change the constant to the Glfw.LIBRARY constant from glfw3 to glfw, so Unix users need only include the library and run it, and Windows users only need to apply a rename to the binaries while adding them to their project.
This should hopefully reduce hassle for everyone on all platforms, and enforce a standardized name "that just works" without all the extra mumbo-jumbo of resolving dependencies at runtime. Windows users will still need to account for CPU architecture and which binary to target, but that is unavoidable.
The library name use with the
DllImportAttributeto import the functions at run-time currently uses the Windows default naming convention ofglfw3, as opposed to its Unix-like counterpart:glfw.This causes anyone using the library on Linux/Mac to have to manually edit the library name and recompile, since they have no control over the name of native GLFW library as it gets installed on the system.
Since Windows users need only include the pre-built and portable binaries with their application, refactoring the native library name to
glfwis trivial, and will not require editing the code or rebuilding, only the library name which they must provide themselves anyway.Proposal is to change the constant to the
Glfw.LIBRARYconstant fromglfw3toglfw, so Unix users need only include the library and run it, and Windows users only need to apply a rename to the binaries while adding them to their project.This should hopefully reduce hassle for everyone on all platforms, and enforce a standardized name "that just works" without all the extra mumbo-jumbo of resolving dependencies at runtime. Windows users will still need to account for CPU architecture and which binary to target, but that is unavoidable.