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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование .so в проекте Qt  (Прочитано 3526 раз)
Pavel74
Гость
« : Декабрь 23, 2014, 11:42 »

Всем Привет!!!

В данный момент активно перехожу на Linux, соответственно использую Qt. Довольно неплохая IDE, разобрался по книге с общими идеями построения программы и пользовательского интерфейса. Вроде как освоил технологию сигналов и слотов. Сейчас пытаюсь перенести некоторые проекты на Linux посредством Qt.

Я создал библиотеку .so из исходников (из которых когда то была создана .dll в Visual Studio) используя GCC и установил ее командой install в
/usr/lib. Затем, создав проект в Qt я подключил данную библиотеку к проекту. Все вроде бы сделал правильно, проект компилируется без ошибок и предупреждений, при условии если только функции из библиотеки .so вызываются без привязки к каким либо компонентам или слотам. Но как только я пытаюсь использовать библиотечные функции например в слотах то возникают ошибки.

Правильно ли я понимаю что, возможно, функции из .so библиотеки помимо подключения к проекту, необходимо еще и регистрировать как класс, что бы правильно работать с ними? Подскажите пожалуйста, как правильно использовать функции из .so библиотеки в программе?  Спасибо.

 
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #1 : Декабрь 23, 2014, 11:52 »

Никакой конкретики. Приведи хотя бы какие ошибки выдает.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Pavel74
Гость
« Ответ #2 : Декабрь 23, 2014, 12:21 »

Пишет, "was not declared in this scope".

Выглядит так, как будто, либо функция, либо, возможно параметры передаваемые функции, неправильно обьявлены.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #3 : Декабрь 23, 2014, 12:24 »

А хидеры подключил? Библиотека - это не только so, это еще и h файлы с описанием АПИ. Я советую тебе посмотреть для начала какой-нибудь проект, где используются библиотеки.
Записан

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

Сообщений: 5876


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


Просмотр профиля WWW
« Ответ #4 : Декабрь 23, 2014, 12:36 »

Да, инсталлить либу не обязательно, можно в одном проекте иметь куч либ и использовать их.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Pavel74
Гость
« Ответ #5 : Декабрь 25, 2014, 09:59 »

Вроде разобрался, заботает, Спасибо!!!

Действительно про оболочку библиотеки я совсем забыл.
Перенес файлы из староо проекта, и все поехало.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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