[Development] Co-installation & library naming rules

Simon Hausmann simon.hausmann at digia.com
Fri Sep 28 12:29:04 CEST 2012


On Friday, September 21, 2012 04:47:11 PM Thiago Macieira wrote:
> This is long, so I'll give you my recommendation first. If you agree with
> me, you don't have to read the rest. If you disagree, you have to read my
> arguments.
> 
> Recommendation:
> ---------------
> 
> Include the major version number (5) in all library base names, like on
> Windows, on all platforms. On Windows we already have QtCore5.dll and
> QtV85.dll, so I recommend having libQtCore5.so.5. For Mac, I'm not sure of
> the naming scheme, but the recommendation applies.
> 
> This recommendation also applies to the static library archives
> (libQtCore5.a), qmake library files (libQtCore5.prl), libtool archives
> (libQtCore5.la) and pkgconfig files (QtCore5.pc). CMake files already have
> the version number. but in a different place (Qt5Core).

As painful as this may be, I agree. We're late to the game, other projects 
like GStreamer or Gtk+ have been doing this for a long time and bringing out 
new major versions isn't a big deal for their deployment because they use this 
pattern and are easily installable in parallel. However it is a big deal for 
us, so we should react if we want to make life easier for developers to use Qt 
5 (and isn't that a goal we all share?).

Just this week (or was it last week?) a new major version of GStreamer came 
out. I just downloaded a bunch of debian files to install them on my machine 
and bam: No conflict, they were installed nicely in parallel and pkg-config lets 
me easily choose which version I want.

So +1 from me.


Simon



More information about the Development mailing list