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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Qt в Linux  (Прочитано 16991 раз)
lenny
Гость
« : Март 01, 2011, 17:25 »

Здравствуйте! В линуксе не очень разбираюсь, поэтому есть вопросы. Что нужно кроме Qt и иксов для запуска Qt приложений? Пока интересуют приложения только с интерфейсом и может подключения к базам данных? Откомпилировал проект в Сюське, запустил в Мандриве, работает, но обе установлены с полным фаршем.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Март 01, 2011, 17:43 »

Натрави ldd на свою прогу и увидишь все зависимости.
Записан

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

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Март 01, 2011, 18:06 »

Цитировать
Натрави ldd на свою прогу и увидишь все зависимости.
А ещё лучше в gdb 'info shared'.
Записан

Qt 5.11/4.8.7 (X11/Win)
meego_man
Гость
« Ответ #3 : Март 01, 2011, 18:08 »

... Откомпилировал проект в Сюське, запустил в Мандриве, работает, но обе установлены с полным фаршем.
Это потому что обе насколько я помню используют похожую конфигурацию системных файлов. На Debian проект вряд ли пойдет. Как советовал Пантер проверь зависимости ldd имя_исполняемого_файла, там покажутся полные пути зависимостей
Записан
lenny
Гость
« Ответ #4 : Март 01, 2011, 19:08 »

Спасибо большое!!! Не знал. Поковыряюсь. Последние лет 5 устанавливал все через нет из репозиториев с помощью утилит/менеджеров пакетов. И еще вопрос: если не устанавливать Qt, можно ли таскать все необходимое вместе с прогой, по аналогии с dll-ми для виндов?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Март 01, 2011, 21:31 »

Цитировать
И еще вопрос: если не устанавливать Qt, можно ли таскать все необходимое вместе с прогой, по аналогии с dll-ми для виндов?
Можно. Только нужно не забыть выставить LD_LIBRARY_PATH c путём к Qt-ишным либам.
Записан

Qt 5.11/4.8.7 (X11/Win)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Март 01, 2011, 22:18 »

Спасибо большое!!! Не знал. Поковыряюсь. Последние лет 5 устанавливал все через нет из репозиториев с помощью утилит/менеджеров пакетов. И еще вопрос: если не устанавливать Qt, можно ли таскать все необходимое вместе с прогой, по аналогии с dll-ми для виндов?

В Linux принято делать пакеты с зависимостями.
Записан
_govorilka
Гость
« Ответ #7 : Март 02, 2011, 07:42 »

Это потому что обе насколько я помню используют похожую конфигурацию системных файлов. На Debian проект вряд ли пойдет. Как советовал Пантер проверь зависимости ldd имя_исполняемого_файла, там покажутся полные пути зависимостей

Проект пойдем на любом люнуксе, если версии используемых библиотек совпадают, или совместимы между собой... Библиотеки можно положить и рядом с своим исполнимым файлом, как делают большинство прог под Windows, но перед запуском нужно будет установить значение переменной LD_LIBRARY_PATH, например так:

Код:
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH

PWD - переменная в которой хранится имя текущей директории.

Можно не изменять значение переменной, но тогда нужно положить библиотеки в "стандарную" папку. В OpenSuse это /usr/lib/
« Последнее редактирование: Март 02, 2011, 07:47 от _govorilka » Записан
lenny
Гость
« Ответ #8 : Март 02, 2011, 10:53 »

Спасибо за советы! А какие пакеты актуальней создавать? rpm?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


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

Основные: rpm, deb, tar.gz. Все они делаются при помощи checkinstall.
Записан

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

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

ну так речь шла о том, собрал приложение на одном дистрибутиве и запустил на другом, безо всяких LD_LIBRARY_PATH и запихиваний своих библиотек в те же папки где у начального дистрибутива Улыбающийся Уж лучше просто собрать приложение на всех совместимых дистрибутивах и создать соответствующие пакеты, благо Linux бесплатен и существует такая вещь как VirtualBox
Вы, правда, думаете, что можно собрать пакеты на все случае жизни... Под все версии дистрибутивов и все возможные конфигурации... Эх...
Записан
voral
Гость
« Ответ #12 : Март 02, 2011, 14:04 »

Проект пойдем на любом люнуксе, если версии используемых библиотек совпадают, или совместимы между собой... Библиотеки можно положить и рядом с своим исполнимым файлом, как делают большинство прог под Windows, но перед запуском нужно будет установить значение переменной LD_LIBRARY_PATH, например так:
Можно и это использовать: void QCoreApplication::addLibraryPath ( const QString & path ) [static]
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


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

Это поможет только для плагинов.
Записан

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

Сообщений: 2921



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

Цитата: voral
Можно и это использовать: void QCoreApplication::addLibraryPath ( const QString & path ) [static]
Сам-то понял, что посоветовал?

На самом деле всё упирается в версию libc, с которой были собраны бинарники пакета. Чем ниже, тем лучше для совместимости.
« Последнее редактирование: Март 02, 2011, 14:14 от GreatSnake » Записан

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


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