Форум программистов, компьютерный форум CyberForum.ru

Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib? - Android

Восстановить пароль Регистрация
 
MegaSinner
 Аватар для MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
08.09.2015, 21:24     Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib? #1
Какие изменения нужно сделать в исходнике для компиляции под Андроид?
в либе используются классы:
#include <QString>
#include <QByteArray>
#include <QVector>
...и многие другие. В связи с чем, не хотелось бы всё переделывать на чистые плюсы.
Если прописать
#include "/home/user/ndkr10e/platforms/android-21/arch-arm/usr/include/jni.h"
то очень много ошибок компилер выдает:
/home/user/ndkr10e/platforms/android-21/arch-arm/usr/include/jni.h:776: error: '__NDK_FPABI__' does not name a type
__NDK_FPABI__ \
^

в таком духе.
EDIT: библиотека изначально строилась под Ubuntu.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.09.2015, 21:24     Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib?
Посмотрите здесь:

Android Нужно приложение под андроид
Android Читалка под андроид
Архивирование под Андроид Android
Игры под Андроид Android
Android Как изменить размеры меток карты OSM под Андроид
Программа под андроид Android
Android TCP клиент под андроид
Android Переделать программу под Андроид
Android Есть ли Паскаль на Андроид?
Android Нужен программист под андроид
Android Разметка под Андроид
Android Как правильно сделать событие в таймере Java под андроид

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MegaSinner
 Аватар для MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
10.09.2015, 15:52  [ТС]     Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib? #2
Со сборкой разобрался. Теперь возникла трудность с обратной связью:
Java
1
2
3
4
   public void onResult(String value)
    {
        Log.i("Log", "result from native code");
    }
- этот метод вызывается библиотекой. Пока его тип был void - оно работало, но с аргументами АПК падает (FATAL SIGNAL)
попытка выглядит вот так:
C++ (Qt)
1
2
3
4
5
6
7
8
        jclass cls2 = env->FindClass("com/myclass/native/TRX");  // try to find the class
        jmethodID mid = env->GetMethodID(cls2, "onResult", "(Ljava/lang/String;)V");  // find method;
        usleep(1000*1000);
        jobject javaObjectRef = env->NewObject(cls2, mid);
        char *buf = (char*)malloc(10);
        strcpy(buf, "1234567890");
        jstring jstrBuf = (env)->NewStringUTF(buf);
        env->CallVoidMethod(javaObjectRef, mid, jstrBuf);
Как исправить?
Yandex
Объявления
10.09.2015, 15:52     Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib?
Ответ Создать тему
Опции темы

Текущее время: 15:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru