Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Why do the libraries end in "-2"?  (Read 2816 times)

0 Members and 1 Guest are viewing this topic.

GraphicsWhale

  • Full Member
  • ***
  • Posts: 131
    • View Profile
Why do the libraries end in "-2"?
« on: September 16, 2015, 11:30:40 am »
Why do the libraries end in "-2" like "sfml-audio-2" or "sfml-system-2"? I've known this since I first tried the library, but I never really put any thought into it.

SeriousITGuy

  • Full Member
  • ***
  • Posts: 123
  • Still learning...
    • View Profile
Re: Why do the libraries end in "-2"?
« Reply #1 on: September 16, 2015, 01:01:28 pm »
Major version number ;)

GraphicsWhale

  • Full Member
  • ***
  • Posts: 131
    • View Profile
Re: Why do the libraries end in "-2"?
« Reply #2 on: September 16, 2015, 04:18:00 pm »
That doesn't make any sense. Why would you want to know the major version of a given DLL? It's not like it's any more helpful in deciding which DLL is the correct one.

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 11030
    • View Profile
    • development blog
    • Email
Re: Why do the libraries end in "-2"?
« Reply #3 on: September 16, 2015, 04:23:09 pm »
Major versions should be API compatible, meaning you can upgrade any SFML 2.x library to the latest 2.x version.
However if you had an SFML 1.6 library it would not be compatible at all with SFML 2.x, but if both were called sfml-system.dll how would you know what API they implement?
Plus it will make a lot more sense once more major versions start existing.
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Why do the libraries end in "-2"?
« Reply #4 on: September 16, 2015, 10:34:46 pm »
Minor versions of the same major version are not binary-compatible though, so updating the DLLs alone will not work. I haven't checked the scripts now, but if I remember correctly, this is something that CMake does by default. It's a bit weird, as static libraries and import libraries do not contain the version number.

On Linux, the version numbering scheme is more sophisticated.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

 

anything