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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: Qt в Linux  (Прочитано 16964 раз)
voral
Гость
« Ответ #15 : Март 02, 2011, 14:13 »

ну так речь шла о том, собрал приложение на одном дистрибутиве и запустил на другом, безо всяких LD_LIBRARY_PATH и запихиваний своих библиотек в те же папки где у начального дистрибутива Улыбающийся Уж лучше просто собрать приложение на всех совместимых дистрибутивах и создать соответствующие пакеты, благо Linux бесплатен и существует такая вещь как VirtualBox
Угу. Особенно если проект активно развивается. Linux от Debian до ОС Попова и т.д. а еще 32 и 64 бита... Не знаю на первый взгляд выпуск очередной версии певатится не в слишком веселое занятие. Хотя и в духе линукс. Вообще, имхо, по хорошему:
собать deb 32 / 64, rpm 32 /64 (я так думаю подойдут большинству <deb|rpm>базед дистов); архив со всеми либами(подойдут тем кому не подошел первый вариант, но не умеет/не хочет компилиовать); если возможно исходники (для всех оставшихся и любителей).
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #16 : Март 02, 2011, 14:19 »

Если прога нужная, то сборкой версии под конкретный дистрибутив может заняться кто-нибудь, кому она нужна.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
voral
Гость
« Ответ #17 : Март 02, 2011, 14:20 »

Сам-то понял, что посоветовал?
Улыбающийся я попал....
Блин как то где то нашел и записал себе на заметку "разобраться потом".
А если так:
Код:
bool qputenv ( const char * varName, const QByteArray & value )
?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #18 : Март 02, 2011, 14:28 »

Цитировать
А если так:
Да не так Улыбающийся
Загрузка зависимых библиотек делается loader-ом до вызова main().
Записан

Qt 5.11/4.8.7 (X11/Win)
voral
Гость
« Ответ #19 : Март 02, 2011, 14:39 »

Цитировать
А если так:
Да не так Улыбающийся
Загрузка зависимых библиотек делается loader-ом до вызова main().
Хм... плохо. Т.е. если нужно это "обойти" нужно делать статически скомпилированный пускач.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #20 : Март 02, 2011, 14:43 »

Цитировать
Хм... плохо. Т.е. если нужно это "обойти" нужно делать статически скомпилированный пускач.
А чем скрипт не подходит?
Записан

Qt 5.11/4.8.7 (X11/Win)
meego_man
Гость
« Ответ #21 : Март 02, 2011, 15:07 »

Вы, правда, думаете, что можно собрать пакеты на все случае жизни... Под все версии дистрибутивов и все возможные конфигурации... Эх...
Ну нет конечно, но большинство проектов именно так и делают. Конечно если зависимостей не супер много, то можно и через LIBRARY_PATH, а что делать когда их пол системы? выпускать приложение в виде особого дистрибутива что ли? не забывайте что Qt тоже имеет свои зависимости Подмигивающий
Записан
lenny
Гость
« Ответ #22 : Март 02, 2011, 15:08 »

Проект пойдем на любом люнуксе, если версии используемых библиотек совпадают, или совместимы между собой... Библиотеки можно положить и рядом с своим исполнимым файлом, как делают большинство прог под Windows, но перед запуском нужно будет установить значение переменной LD_LIBRARY_PATH, например так:
ну так речь шла о том, собрал приложение на одном дистрибутиве и запустил на другом, безо всяких LD_LIBRARY_PATH и запихиваний своих библиотек в те же папки где у начального дистрибутива Улыбающийся Уж лучше просто собрать приложение на всех совместимых дистрибутивах и создать соответствующие пакеты, благо Linux бесплатен и существует такая вещь как VirtualBox
Я думал, что работает на другом дистрибутиве по причине наличия в нем всего необходимого, что в моем случае и не странно. А смысл компилить на другом дистрибе, если там чего то не хватает, то и компиляции не получится. Или я чего то не понимаю.
Записан
lenny
Гость
« Ответ #23 : Март 02, 2011, 15:18 »

Основные: rpm, deb, tar.gz. Все они делаются при помощи checkinstall.
Спосибо! Гляну checkinstall. Наверно rpm подойдет, линукс-админ скорее всего сумеет его установить.
Записан
voral
Гость
« Ответ #24 : Март 02, 2011, 15:28 »

А чем скрипт не подходит?
По большому счету подходит. Я это так "чтобы было" Улыбающийся и юзеры лишние глупые вопросы не задавали.
Записан
meego_man
Гость
« Ответ #25 : Март 02, 2011, 15:35 »

Я думал, что работает на другом дистрибутиве по причине наличия в нем всего необходимого, что в моем случае и не странно. А смысл компилить на другом дистрибе, если там чего то не хватает, то и компиляции не получится. Или я чего то не понимаю.
Не совсем так. Приложение скажем скомпилировано с Qt версии 4.7, однако реально используются функции доступные в Qt 4.5. Если скомпилить проект на дистрибутиве с 4.7 а потом попытаться запустить на дистрибутиве c Qt 4.5 то ясное дело ничего не получиться. А вот если перекомпилировать проект то все будет работать. Плюс сама библиотека Qt при компиляции использует некоторые системные библиотеки дистрибутива. Даже если перетащить вместе с проектом библиотеки Qt, проект все равно вряд ли запустить, опять же из за зависимостей, но теперь уже самой Qt.
Записан
lenny
Гость
« Ответ #26 : Март 02, 2011, 15:57 »

Плюс сама библиотека Qt при компиляции использует некоторые системные библиотеки дистрибутива.
С версиями Qt все понятно, а с системными библиотеками дистрибутива не очень. У нокии два варианта sdk под никсы 32 и 64 бита, либы один вариант определенной версии.
« Последнее редактирование: Март 02, 2011, 16:39 от lenny » Записан
meego_man
Гость
« Ответ #27 : Март 02, 2011, 16:05 »

С версиями Qt все понятно, а с системными библиотеками дистрибутива не очень. У нокии два варианта sdk под никсы 32 и 64 бита, либы один вариант определенной версии.
попробуй ldd имя_qt_библиотеки (например QtCore). Получишь все зависимости с которыми была собрана сама Qt. Если нужная системная библиотека будет версии младше чем та с которой была собрана Qt, проект не запуститься
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #28 : Март 02, 2011, 16:10 »

Почему? А обратная совместимость как же?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #29 : Март 02, 2011, 16:13 »

Цитата: Пантер
Почему? А обратная совместимость как же?
Обратная совместимость к сожалению не распространяется на libc. Грустный
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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