Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: antibot от Октябрь 05, 2010, 00:23



Название: Собрать в linux Qt проект без зависемостей
Отправлено: antibot от Октябрь 05, 2010, 00:23
Здравствуйте!

Вот хотелось бы узнать, как собрать проект, написанный на Qt без зависимостей
в linux.Есть Qt 4.6, при компиляции все хорошо, да только на другом компьютере эту программу можно
посмотреть если тащить все .lib файлы.
А хотелось бы чтобы все было в одном файле...

Помогите!Очень нужно.

Спасибо! :)


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: Denjs от Октябрь 05, 2010, 02:25
Что значит без зависимостей? все бинарники в одном файле?
 Курите маны/поиск на тему сборки QT со статической линковокой и лицензионных ограничений с этим связанных. обсуждалось не раз.

PS: Вы же ваш проект надеюсь по GPL раздаете? ссылочку дайте? просто или так, или низя.


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: crossly от Октябрь 05, 2010, 09:19
хотелось бы знать... чем обусловлена эта категорически острая нужда ?? :)


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: AleUri от Октябрь 05, 2010, 20:15
есть не нужда, просто это удобнее

статическая сборка помогает не всегда
например, на mandriva2010, собрал qt 4.6.2 статически (т.е. ./configure -static)
собираю программу, получаю действительно 1 выполняемый модуль
(на самом деле их 2 один для x32 и другой для x64, собраны на разных виртуалках)

НО он выполняется НЕ на всех linux
иногда не работает, пишет что-то про то, что не та версия glibc чего-там...

как можно победить такую проблему???


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: antibot от Октябрь 06, 2010, 00:27
Без зависимостей значит - все в одном бинарнике...Qt собрана статически...Но как я понимаю что то не так...В общем хотелось бы получить ответ не как собрать qt статически или что исправить в исходном коде для этого, а как имея откомпилированную программу и ряд библиотек, которые в совокупности дают рабочую версию программы создать 1 файл, который бы при запуске - запускался.Вот это очень бы помогло.
А то получается, что и программа и куча файлов к ней.
Многим пользователям это, мягко говоря, не нравится.
Спасибо, что откликнулись!


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: AleUri от Октябрь 06, 2010, 07:21
есть http://statifier.sourceforge.net/
но чтобы он работал на пользовательской системе, нужно один раз что-то там поправить с рутовскими правами

у меня была идея, но не проверил пока,
нужно собрать qt статически на старом дистрибутиве
тогда он будет связан с библиотеками (glibc в частности) версии которых есть везде
получиться?


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: crossly от Октябрь 06, 2010, 13:24
советую почить что есть GNU/Linux...понять идеологию...  а до тех пор пока не поймете... не трогать его...


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: Denjs от Октябрь 06, 2010, 16:12
а как имея откомпилированную программу и ряд библиотек, которые в совокупности дают рабочую версию программы создать 1 файл, который бы при запуске - запускался.Вот это очень бы помогло.
имхо Вы пытаетесь выдать цель - создание перемещаемой/мобильной версии программы, способной работать где угодно просто после копирования, за  средство - статическая сборка. первое достижимо без второго. есть даже специальные системы и пакеты которые занимаются созданием таких версий программ - которые после копирования будут работать практически в любом дистрибутиве линукс


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: AleUri от Октябрь 06, 2010, 19:52
Цитировать
есть даже специальные системы и пакеты которые занимаются созданием таких версий программ - которые после копирования будут работать практически в любом дистрибутиве линукс
пример можно?


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: Pretorean от Октябрь 06, 2010, 20:44
пример можно?
а легко
http://0install.net/


Название: Re: Собрать в linux Qt проект без зависемостей
Отправлено: valery от Октябрь 06, 2010, 23:07
есть http://statifier.sourceforge.net/
но чтобы он работал на пользовательской системе, нужно один раз что-то там поправить с рутовскими правами

у меня была идея, но не проверил пока,
нужно собрать qt статически на старом дистрибутиве
тогда он будет связан с библиотеками (glibc в частности) версии которых есть везде
получиться?
Другая возможность - Ermine (http://magicErmine.com (http://magicErmine.com))
Программа, в отличие от statifier, коммерческая, но имеет больше возможностей
и не требует отключения memory randomization