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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подключение библиотеки otr  (Прочитано 4743 раз)
alluk
Гость
« : Апрель 24, 2017, 13:53 »

Установил библиотеку в linux.  подключил её в проект qt. LIBS+=-lotr/
Объявил заголовочные файлы .h. В коде структуры, константы видны,
а функции не вызываются  "undefined reference".  Что может быть не так?
Записан
Hornet
Гость
« Ответ #1 : Апрель 24, 2017, 14:17 »

В какой линукс Ubuntu ? debian Непонимающий?? OpenSUSE они разные начнем с этого.
Записан
alluk
Гость
« Ответ #2 : Апрель 24, 2017, 14:29 »

Debian Linux, устанавливал пакет  libotr-4.1.1.
Записан
Hornet
Гость
« Ответ #3 : Апрель 24, 2017, 15:07 »

Linux:
INCLUDEPATH += ../LIB/MANAGER/
LIBS += -L../LIB/MANAGER/ -lMANAGER
Попробуй так.
Записан
alluk
Гость
« Ответ #4 : Апрель 24, 2017, 15:16 »

Файл .so лежит /usr/lib
Мне путь /usr/lib тогда указывать в обоих случаях?
Записан
Hornet
Гость
« Ответ #5 : Апрель 24, 2017, 15:20 »

попробуй да в обеих
Записан
alluk
Гость
« Ответ #6 : Апрель 24, 2017, 15:36 »

Указал, в итоге не помогло.
Записан
alluk
Гость
« Ответ #7 : Апрель 24, 2017, 15:40 »

 У меня подозрение, что в С++ коде нельзя включить функцию, откомпилированую С компилятором. Хотя библиотеки должны же работать?
Записан
alluk
Гость
« Ответ #8 : Апрель 24, 2017, 15:56 »

Пересобрал библиотеку из исходников, установил в /usr/local/. Результат тотже((.
Записан
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #9 : Апрель 24, 2017, 19:26 »

Объявил заголовочные файлы .h.

что значит "объявил", они же в библиотеке должны быть
может нужно libotr-dev поставить ?

ну и выхлоп линкера давай
Записан
alluk
Гость
« Ответ #10 : Апрель 25, 2017, 08:22 »

Подключил .h файлы: #include <libotr/message.h>

Запускается g++ -Wl, -rpath, /opt/Qt5.8.0/5.8/gcc_64/lib -o /.../
-L/usr/local/lib -lotr -L/opt/Qt5.8.0/5.8/gcc_64/lib -lQt5Network -lQt5Xml -lQt5Core -lpthread
In function 'otr_send_msg' undifened reference to 'otrl_message_sending(/.../)'
 
Записан
qate
Супер
******
Offline Offline

Сообщений: 1175


Просмотр профиля
« Ответ #11 : Апрель 25, 2017, 10:06 »

делай инклуд так:

Код:
extern "C" {
#include "libotr/proto.h"
#include "libotr/privkey.h"
#include "libotr/message.h"
#include "libotr/context.h"
}

упомянутая функция вызывает уныние при виде параметров

Код:
gcry_error_t otrl_message_sending(OtrlUserState us,
        const OtrlMessageAppOps *ops,
        void *opdata, const char *accountname, const char *protocol,
        const char *recipient, otrl_instag_t instag, const char *original_msg,
        OtrlTLV *tlvs, char **messagep, OtrlFragmentPolicy fragPolicy,
        ConnContext **contextp,
        void (*add_appdata)(void *data, ConnContext *context),
        void *data);

чем интересна эта либа ?
Записан
alluk
Гость
« Ответ #12 : Апрель 25, 2017, 10:39 »

Собралось)). Делаю ОТР для клиента  джабера.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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