[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