И это всё МОЁ

Хочу собрать приложение на Qt5 которое бы работало на разных дистрибутивах без перекомпиляции.

Взять и скомпилировать все статически не могу ибо LGPL.

Оставлять все динамически слинкованными не вариант, тут даже не факт что возможно будет последние версии Qt5 собрать под Ubuntu 16.04, а возможность запускать софт там нужна.

Думаю попытаться собрать Qt5 динамически но с статически слинкованными библиотеками какими только смогу. Но из-за особенности структуры Qt5 делится на десятки библиотек и при таком подходе будет куча копий одной и той-же библиотеки в каждой Qt5 либе.

Тут я вижу возможные решения:



  1. Все нужные библиотеки пересобрать так чтоб они не зависели от системных, только друг от друга. Боюсь даже думать об этом, не вариант для меня.

  2. Слинковать все статические библиотеки в одну динамическую и уже её линковать динамически для каждой Qt5 либы. Проблема в том что я не знаю как это правильно сделать, если это вообще возможно.

  3. Скомпилировать Qt5 в одну мега-библиотеку и статически к ней слинковать всё остальное. Не верю в то что такое можно легко сделать, если вообще возможно.

  4. Скомпилировать Qt5 статически, но использую метод из п.2 собрать её в одну динамическую и слинковать всё остальное статически к ней.

  5. Забить на это так как наступила эра гигабайтных приложений.


Варианты AppImage, Flatpak, Snappy и остальное такое не предлагать.









 , ,