Russian Qt Forum
Ноябрь 02, 2024, 17:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Собрать в linux Qt проект без зависемостей  (Прочитано 9879 раз)
antibot
Гость
« : Октябрь 05, 2010, 00:23 »

Здравствуйте!

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

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

Спасибо! Улыбающийся
Записан
Denjs
Гость
« Ответ #1 : Октябрь 05, 2010, 02:25 »

Что значит без зависимостей? все бинарники в одном файле?
 Курите маны/поиск на тему сборки QT со статической линковокой и лицензионных ограничений с этим связанных. обсуждалось не раз.

PS: Вы же ваш проект надеюсь по GPL раздаете? ссылочку дайте? просто или так, или низя.
« Последнее редактирование: Октябрь 05, 2010, 02:29 от Denjs » Записан
crossly
Гость
« Ответ #2 : Октябрь 05, 2010, 09:19 »

хотелось бы знать... чем обусловлена эта категорически острая нужда ?? Улыбающийся
Записан
AleUri
Гость
« Ответ #3 : Октябрь 05, 2010, 20:15 »

есть не нужда, просто это удобнее

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

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

как можно победить такую проблему???
Записан
antibot
Гость
« Ответ #4 : Октябрь 06, 2010, 00:27 »

Без зависимостей значит - все в одном бинарнике...Qt собрана статически...Но как я понимаю что то не так...В общем хотелось бы получить ответ не как собрать qt статически или что исправить в исходном коде для этого, а как имея откомпилированную программу и ряд библиотек, которые в совокупности дают рабочую версию программы создать 1 файл, который бы при запуске - запускался.Вот это очень бы помогло.
А то получается, что и программа и куча файлов к ней.
Многим пользователям это, мягко говоря, не нравится.
Спасибо, что откликнулись!
Записан
AleUri
Гость
« Ответ #5 : Октябрь 06, 2010, 07:21 »

есть http://statifier.sourceforge.net/
но чтобы он работал на пользовательской системе, нужно один раз что-то там поправить с рутовскими правами

у меня была идея, но не проверил пока,
нужно собрать qt статически на старом дистрибутиве
тогда он будет связан с библиотеками (glibc в частности) версии которых есть везде
получиться?
Записан
crossly
Гость
« Ответ #6 : Октябрь 06, 2010, 13:24 »

советую почить что есть GNU/Linux...понять идеологию...  а до тех пор пока не поймете... не трогать его...
Записан
Denjs
Гость
« Ответ #7 : Октябрь 06, 2010, 16:12 »

а как имея откомпилированную программу и ряд библиотек, которые в совокупности дают рабочую версию программы создать 1 файл, который бы при запуске - запускался.Вот это очень бы помогло.
имхо Вы пытаетесь выдать цель - создание перемещаемой/мобильной версии программы, способной работать где угодно просто после копирования, за  средство - статическая сборка. первое достижимо без второго. есть даже специальные системы и пакеты которые занимаются созданием таких версий программ - которые после копирования будут работать практически в любом дистрибутиве линукс
« Последнее редактирование: Октябрь 06, 2010, 22:17 от Denjs » Записан
AleUri
Гость
« Ответ #8 : Октябрь 06, 2010, 19:52 »

Цитировать
есть даже специальные системы и пакеты которые занимаются созданием таких версий программ - которые после копирования будут работать практически в любом дистрибутиве линукс
пример можно?
Записан
Pretorean
Гость
« Ответ #9 : Октябрь 06, 2010, 20:44 »

пример можно?
а легко
http://0install.net/
Записан
valery
Гость
« Ответ #10 : Октябрь 06, 2010, 23:07 »

есть http://statifier.sourceforge.net/
но чтобы он работал на пользовательской системе, нужно один раз что-то там поправить с рутовскими правами

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


Страница сгенерирована за 0.049 секунд. Запросов: 21.