LINUX.ORG.RU

Сборка программы на Qt под разные дистрибутивы

 ,


0

2

Привет.

Какой самый трушный способ сборки qt(да и просто) проги для другого дистра? Только начинаю разбираться в разработке под линукс и на данный момент есть всего три идеи(поправьте если написал глупость). 1. Статически слинковать все либы - если я правильно понимаю, этот самый сложный т.к. нужно еще и все либы собрать статически. 2. Закинуть все либы в отдельную директорию, прописав в к ней путь в LD_LIBRARY_PATH. 3. Собирать прогу сразу на нужном дистре.


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

Elyas ★★★★★
()

Вместо LD_LIBRARY_PATH можно использовать -rpath (и qt.conf при необходимости).

А так: берём старый дистр, типа убунты 12.04/14.04. Cобираем Qt, собираем прогу. Кидаем нужные либы и сжимаем в tar.gz. Готово.

RazrFalcon ★★★★★
()

4. Не собирать бинарники вообще. Пользователи/пакаджеры сами соберут и опакетят под свой дистрибутив как нужно.

slovazap ★★★★★
()
Ответ на: комментарий от RazrFalcon

Сработало, спасибо, прога не пашет, но это уже просто потому что было лень компилить на другом дистре(собрал дебиане), теперь по крайней мере не возмущается за отсутствие кутэшних либ. И еще такой вопрос, как определять какие либы нужно закинуть в rpath? Можно например закинуть весь вывод из ldd или они буду конфликтовать?

Fof
() автор топика
Ответ на: комментарий от slovazap

Я не для пользователей, а для себя собираю. Нужно потом перекинуть на слабую железко и забыть.

Fof
() автор топика

Спасибо RazrFalcon и Elyas за помощь.

Fof
() автор топика

Я бы воспользовался Continious Integration + Docker — IMHO, самый простой способ избежать возни и автоматизировать работу

XMs ★★★★★
()

3. Собирать прогу сразу на нужном дистре.

Harald ★★★★★
()
Ответ на: комментарий от RazrFalcon

3-й пункт:

Собирать прогу сразу на нужном дистре

XMs ★★★★★
()
Ответ на: комментарий от slovazap

Мне тоже этот способ больше всего нравится, просто хотелось узнать делают ли по другому.

Fof
() автор топика
Ответ на: комментарий от XMs

Спасибо, почитаю об этом, пока не очень понимаю о чем речь. Это что-то типа поднятия образа нужного дистра в докере и конпелянии в нем?

Fof
() автор топика
Ответ на: комментарий от Fof

Что-то вроде, только это происходит автоматически при каждом коммите (или нет, смотря как настроишь). В докере поднимается нужный дистрибутив, туда ставятся необходимые пакеты, а потом происходит сборка и опакечивание. Заодно получаешь автоматическое тестирование

XMs ★★★★★
()
Ответ на: комментарий от XMs

Звучит очень круто, обязательно почитаю, спасибо еще раз.

Спасибо парни, до этого 2 дня гуглил и в итоге почти ничего не нашел, а тут такой поток идей.

Fof
() автор топика
Ответ на: комментарий от RazrFalcon

А при чём тут ci и докер к сборке?

В том же Travis-CI вроде можно собрать DEB-пакетики и не париться.

EXL ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.