Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4] Не подлючается модуль в момент запуска, не видит сошник, который лежит рядом 
V
    Опции темы
null56
Дата 9.4.2009, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Пытаюсь сделать статическую линковку so...
Собсвтенно сам so
Код

QT += network
QT -= gui
TARGET = SslSocket
TEMPLATE = lib
DEFINES += SSLSOCKET_LIBRARY

SOURCES += /*..........*/

HEADERS += /*.......*/

INCLUDEPATH = ..
DESTDIR = ../../server_db/lib


Создаются so и симлинки на него

Основной файл проекта:
Код

LIBS += -Llib -lSslSocket

все собирается, запускаю бинарник и при запуске получаю
Цитата

./server_db
./server_db: error while loading shared libraries: libSslSocket.so.1: cannot open shared object file: No such file or director

Чего еще не сделал я для того, чтобы использовать разделяемую библиотеку статически? или такие фокусы только с либами проходят?
Заранее благодарен за помощь
PM MAIL   Вверх
Acer
Дата 9.4.2009, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Цитата(null56 @ 9.4.2009,  12:04)
Основной файл проекта:
Код

LIBS += -Llib -lSslSocket

Я бы сделал так:
Код

LIBS += "lib/SslSocket.so"

PM MAIL   Вверх
Любитель
Дата 9.4.2009, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Acer, нет - ключи правильней указаны у топикстартера.

null56, читаем основы про библиотеки в никсах. Или сразу - LD_LIBRARY_PATH. В директории с запускаемым файлом библиотеки искаться не будут (в отличие от винды).


--------------------
PM MAIL ICQ Skype   Вверх
Acer
Дата 9.4.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Любитель, ну, в Makefile я всегда писал
Код

LIBS += -L"/path/to/libs" -lmyLib

А вот в Qt *.pro файле просто 
Код

LIBS += "/path/to/mylib.dll" //для венды

Под никсами не делал... Думал, так же... Извиняюсь

Это сообщение отредактировал(а) Acer - 9.4.2009, 22:10
PM MAIL   Вверх
Любитель
Дата 9.4.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



qmake разруливает и -L, и -l (в никсовом стиле) и это работает всегда.


--------------------
PM MAIL ICQ Skype   Вверх
null56
Дата 9.4.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Любитель, так должно работать, так как я пытаюсь сделать или нет? линковщик находит, запуск нет или надо добавить путь в переменную LD_LIBRARY_PATH, чтобы загрузчик мог найти мой сошник?

Это сообщение отредактировал(а) null56 - 9.4.2009, 23:45
PM MAIL   Вверх
Любитель
Дата 10.4.2009, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Вариант 1:
Код

LD_LIBRARY_PATH=. ./server_db


Вариант 2: нормально деплоить либу.


--------------------
PM MAIL ICQ Skype   Вверх
null56
Дата 10.4.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Цитата(Любитель @ 10.4.2009,  00:39)
Вариант 2: нормально деплоить либу.

прочитал статью про либы, спасибо, узнал хоть принцип подгрузки
http://www.ibm.com/developerworks/ru/libra...amic-libraries/
а здесь, что ты имеешь в виду?
статически связать или динамически подгружать в программе?
а где должны расположены быть либы, чтобы динамически загрузчик? их находил? в /usr/lib?
PM MAIL   Вверх
null56
Дата 10.4.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



увидел либы и c LD_LIBRARY_PATH и в папке /usr/lib осталось понять, откуда черпает пути в линухе, но это уже не по теме...
спасибо всем
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.