GLFW 3.0 Libraries and Linking

Using GLFW
2012-08-16
2012-11-08
  • Joshua Smith
    Joshua Smith
    2012-08-16

    Will the support for MinGW dll linking via .a files be returning in GLFW 3.0?
    Or perhaps it's already in there with some build incantation that I'm not
    aware of. I can build and install the shared libraries under MinGW, but I have
    to do some dlltool magic (documented at the bottom of http://cygwin.com /cygwin-ug-net/dll.html) to convert glfw3dll.lib to a libglfw3.dll.a library
    to link against. It works, but the process could obviously be automated.

    Also, in the process of working this out, something else occurred to me along
    the lines of consistency. Perhaps the Linux library could be renamed to
    libGLFW, rather than libglfw3. This would bring it in line with the other GL
    related libraries, avoid the 3 at the end, and still not clash with the 2.x
    series library. On case-insensitive Windows, it could become libglfw32. This
    doesn't help the include file situation though. Not critically important, but
    maybe worth considering in the run up to release. I just envision a nice GL
    stack of gl, glu, glew, glfw. Maybe a glcw too if the context stuff is broken
    out into its own library ;)

     
  • Camilla Löwy
    Camilla Löwy
    2012-08-16

    The glfw3dll.lib file created by MinGW should already be in the correct
    format, but I have updated the build files to name it glfw3dll.a when using
    MinGW.

    The GLFW shared library is renamed to libglfw.so.3.0 when installed, with
    symlinks added. Renaming it to libGLFW.so would indeed avoid clashes with GLFW
    2.x, but wouldn't work once it's time for GLFW 4.

    As for header file names, Khronos is moving in a similar direction with their
    gl3.h for GL3 and GLES3.

     
  • Joshua Smith
    Joshua Smith
    2012-08-16

    The glfw3dll.lib file created by MinGW should already be in the correct
    format, but I have updated the build files to name it glfw3dll.a when using
    MinGW.

    I figured it was something simpler than what I was doing to get a .a file.
    Thanks!

    The GLFW shared library is renamed to libglfw.so.3.0 when installed, with
    symlinks added. Renaming it to libGLFW.so would indeed avoid clashes with GLFW
    2.x, but wouldn't work once it's time for GLFW 4.

    Wouldn't libGLFW.so.3.0 become libGLFW.so.4.0? Though, it would probably still
    be a problem for GLFW 4 on Windows, but I guess it just depends if the API/ABI
    is going to be overhauled again, or just extended. In the case of compatible
    extension, you might not need a new library name?

    As for header file names, Khronos is moving in a similar direction with
    their gl3.h for GL3 and GLES3.

    I considered that too. Not a problem either way.

     
  • Joshua Smith
    Joshua Smith
    2012-08-23

    I'm compiling from the github repo wih the library renaming and mingw can't
    find it. I have to add a 'lib' prefix to the .a file.