Search code examples
c++qtqt5legacy

How to bundle an application for Linux?


I am writing a C++ application, that uses Qt5.3. It uses WebSocket support from 5.3, so I can't build it with an earlier version. Also, it uses QT's WebKit support, so I can't build it statically.

This application has to support legacy distributions, like Ubuntu 14.04 LTS without Qt5.3 in the repositories.

How to make my application support distributions without Qt5.3?


Solution

  • There's a good discussion of how to build out a Linux deployment package here: http://doc.qt.io/qt-5/linux-deployment.html.

    I'd personally ship the shared libraries that I need and install them outside of the system /usr/lib space, and use LD_LIBRARY_PATH to point to them instead. That way you know you're running it on a current version of Qt, and you've tested against it. The downside is depending on how many libraries you link against, you can end up with a fairly large deployment package.