0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
1

Сборка со сторонней библиотекой libssh.dll под Android

26.11.2016, 09:29. Показов 1700. Ответов 8
Метки нет (Все метки)

Установлен Qt 5.7.0 for Android(Windows 32), Android Studio, android-ndk-r13, apache-ant-1.9.7. Пытаюсь собрать простейший проект с работой по ssh. Скачал и прописал в проекте стороннюю библиотеку libssh-0.7.2(libssh-0.7.2-mingw.zip). При сборке для Desktop libssh.dll положил в папку с получившимся exe файлом и все хорошо запускается. При сборке для Android выскакивает ошибка "ld.exe: cannot find -llibssh.dll". И уже библиотеку libssh.dll пробовал положить в папку C:/Qt/project/untitled/libssh-0.7.2/lib/, все-равно таже ошибка.
Код untitled.pro:
Код
#-------------------------------------------------
#
# Project created by QtCreator 2016-11-24T15:24:44
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = untitled
TEMPLATE = app


SOURCES += main.cpp\
        ssh_android.cpp

HEADERS  += ssh_android.h

FORMS    += ssh_android.ui

CONFIG += mobility
MOBILITY = 


unix:!macx|win32: LIBS += -L$$PWD/libssh-0.7.2/lib/ -llibssh.dll

INCLUDEPATH += $$PWD/libssh-0.7.2/include
DEPENDPATH += $$PWD/libssh-0.7.2/include
Код main.cpp:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "ssh_android.h"
#include <QCoreApplication>
#include <QApplication>
#include <fcntl.h>
#include <libssh/libssh.h>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    ssh_session my_ssh_session;
    my_ssh_session = ssh_new();
    ssh_options_set(my_ssh_session, SSH_OPTIONS_HOST, "192.168.12.201");
    SSH_android w;
    w.show();
    ssh_free(my_ssh_session);
    return a.exec();
}
Помогите, знатоки. Как правильно работать со сторонними библиотеками для Android.
Вложения
Тип файла: zip untitled.zip (476.6 Кб, 1 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2016, 09:29
Ответы с готовыми решениями:

Сборка со статической библиотекой DLL
Я создал DLL. Затем эту библиотеку подключил к проеку с помощью References. Всё работает как надо....

Сборка Qt под Android
Собираю qt 5.1.1 под андроид. Все скачал и подключил: 1. sdk 2. ndk 3. ant 4. jdk 1.7 ...

Сборка Qt под Android
Собираю qt 5.1.1 под андроид. Все скачал и подключил: 1. sdk 2. ndk 3. ant 4. jdk 1.7 Создаю...

сборка под android
Собственно, если у меня есть приложение, написанное с помощью qt creator, можно ли его как-нибудь...

8
1441 / 1322 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
26.11.2016, 21:19 2
Цитата Сообщение от Dig100 Посмотреть сообщение
со сторонними библиотеками для Android.
Точно так же как и под Unix:
1. собрать;
2. слинковать.
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
28.11.2016, 06:13  [ТС] 3
Хороший ответ). Если б еще собралось и слинковалось. Под windows для Desktop и собралось, и слинковалось, под Android - нет
0
1067 / 649 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
28.11.2016, 07:49 4
Цитата Сообщение от Dig100 Посмотреть сообщение
под Android - нет
libssh была собрана под андроид?
0
1441 / 1322 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
28.11.2016, 09:32 5
Цитата Сообщение от Dig100 Посмотреть сообщение
под Android - нет
Потому что в Android нет dll, там другой формат для библиотек. Нужно взять CMake, Android NDK и собрать libssh
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
28.11.2016, 11:50  [ТС] 6
Цитата Сообщение от Wyn Посмотреть сообщение
libssh была собрана под андроид?
libssh скачана с официального сайта под mingw https://red.libssh.org/attachm... -mingw.zip. Как собрать libssh под Android? Если можно с использованием Qt Creator, объясните, пожалуйста, или ткинете ссылкой)

Добавлено через 1 минуту
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Потому что в Android нет dll, там другой формат для библиотек. Нужно взять CMake, Android NDK и собрать libssh
Можно подробнее с использованием Qt Creator? Или из командной строки.
.
0
1441 / 1322 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
28.11.2016, 11:52 7
Читай email рассылку libssh: Re: Building for Android
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 6
29.11.2016, 08:26  [ТС] 8
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Читай email рассылку libssh: Re: Building for Android
Там расписано кое-что, конечно, но для Ubuntu. Неужели придется ставить линукс и ставить все, настраивать? Так бы не хотелось ставить что-то дополнительное, когда есть Windows и среда разработки.
0
1441 / 1322 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
29.11.2016, 14:04 9
Можно ограничиться MSYS
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2016, 14:04

Сборка под Android
Столкнулся с такой проблемой, что я не могу запустить свое приложение под Android, в Qt возникает...

Как собрать libssh под Windows 7?
Здравствуйте. Может кто-то собирал libssh под Win7, как это сделать? В гугл не посылать, уже был,...

Конфликт имен со сторонней библиотекой
Добрый день, я использую при создании проекта библиотеку, и в ней имеется объект &quot;Message&quot;....

Мобильное приложение, сборка под android
нужна помощь, при сборке лезут ошибки, куда копать? Версия ОС : Windows...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru