Подключение SFML 2.3.2 к Qt для разработки приложений под Android (Windows 7)

SFML и C++ Уроки \ Разработка игр Форумы SFML Начало работы (подключение и настройка) Подключение SFML 2.3.2 к Qt для разработки приложений под Android (Windows 7)

В этой теме 10 ответов, 4 участника, последнее обновление Heisenberg Heisenberg 9 мес., 1 неделя назад.

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #2989
    +1
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

    Зарегистрирован:
    01.04.2015

    Репутация:139

    Всё время пользовался Visual Studio 2012 и SFML версии 2.0.
    Скачав Qt после “старых привычек” захотелось написать игру под мобильную платформу Android, а именно с использованием SFML.
    Судя по документации на SFML-Dev это вполне возможно.

    Если кто проделывал подобное, или решит сделать и у вас получится, прошу поделиться опытом в подключении нашей любимой библиотеки к Qt под Android.

    #2992
    MatrixDeity
    MatrixDeity
    Модератор
    Сообщений:31

    Зарегистрирован:
    20.06.2015

    Репутация:24

    Heisenberg, извините за оффтоп, меня побудило любопытство написать :)

    А почему именно C++? Сам Google рекомендует прибегать к Android NDK только в редких случаях, для всего остального, как говорится, есть Java. Хорошо бы прошла сцепка Android SDK + JSFML (впрочем, эта библиотека уже не поддерживается разработчиком, но все же).

    Я спрашиваю, потому что у меня тоже была мечта писать под Андроид на плюсах, но меня отговорили когда-то, сказали, что игра не стоит свеч :)

    #2993
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

    Зарегистрирован:
    01.04.2015

    Репутация:139

    Скачивал Android Studio с инструментами JDK, всё бы ничего, но мой ноут не потянул эту среду разработки. С просто запущенной IDE от силы оставалось 200MB свободной оперативки. Так ещё для тестов приложения требуется эмулятор, который тоже требует не мало памяти, плюс само приложение… В связи с этим просто удалил её.

    #2995
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:584

    Зарегистрирован:
    04.01.2015

    Репутация:103

    jsfml всё равно компилится с cmake в итоге

    #3006
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    MatrixDeity, ты не совсем прав. Google рекомендует использовать ndk для приложений, интенсивно использующих CPU, таких как: игровые движки, работа с сигналами и симуляция физики.

    Вот кстати wiki-страница c GitHub SFML по теме. Если я когда нибудь докачаю SDK, NDK и ANT, то попробую собрать пример.

    #3225
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

    Зарегистрирован:
    01.04.2015

    Репутация:139

    Тема всё ещё актуальна ЖМЯК

    #3241
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    Heisenberg, если что я собрал пример, который дается для android и на этом мой запал как то по угас. Уж больно заморочено в андроиде все их файлы манифеста, активити и прочей лабуды.

    #3242
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

    Зарегистрирован:
    01.04.2015

    Репутация:139

    Можешь показать что к чему, как подключать чтоб заработало? Пожалуйста!

    #3245
    +2
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    Скачиваешь:

    • CMake
    • Git
    • Android SDK
    • Android NDK
    • Apache Ant

    Делаешь так чтобы из командной строки/терминала  до этого всего можно было достучаться. В случае с windows прописываешь в переменную окружения PATH пути до следующих директорий:

    • [Path to CMake]/bin
    • [Path to Git]/bin
    • [Path to SDK]/tools
    • [Path to SDK]/platform-tools
    • [Path to NDK]
    • [Path to ANT]/bin

    В случае с linux тоже можно прописать, но в большинстве случаев не имеет значение поскольку все ставиться в /usr/bin и так доступно в консоли (думаю линуксойдам вообще не стоит объяснять ибо они и так все понимают, без моих корявых объяснений)

    Дальше открываем терминал переходим в папочку где не жалко гадить и делаем

    Для тех кто не знаком с git, данной командой мы клонировали репозиторий с SFML себе на компьютер в папочку SFML.

    Дальше нам нужно собрать библиотеку SFML для компиляторов android. Для удобства в директории (папочке ^_^)  SFML создадим поддиректорию builds. В linux это происходило бы вот так:

    Как это делается в windows,  я уже если честно не помню, но кажется точно также.

    Собственно, если внимательно присмотреться то я создал не только директорию builds, но еще и armeabi. Сделано это потому что в данный момент существует несколько основных платформ на которых работает android: arm, mips, x86 и т.д. Под этот зверинец существует несколько компиляторов android, свой для каждой платформы. Соответственно и библиотеку нужно собирать для всех этих платформ. Но в качестве тестовой сборки сделаем только для одной самой распространенной.

    Дальше нужно сгенерировать make файлы для этого воспользуемся утилитой cmake со следующими параметрами:

    Если генерация прошла успешно… Кого я обманываю, конечно она скорее всего закончилась не удачно. Ну что же здесь я могу только посоветовать внимательно читать вывод cmake и ставить необходимые зависимости. Если что то не получается, то ответ скорее всего найдется в гугле.

    Если генерация наконец то прошла успешно – поздравляю можете приступать к сборке.

    Для ускорения сборки можно воспользоваться многоядерностью: добавьте параметр -j и число ядер процессора + 1. У меня

    Если вы используете visual studia, то у вас нет утилиты make. Ее аналог в visul studia кажется nmake (никогда не был приверженцем visual studia)

    После окончания сборки в директории lib будет собранная библиотека.

    Ибо уже поздно, а мне завтра вставать на работу и вообще уже очень лениво, то продолжение следует… Если конечно, кто то вообще сможет разобраться в моих пояснениях и дойти до этого этапа =D

    #3247
    +2
    RazorNd
    RazorNd
    Участник
    Сообщений:46

    Зарегистрирован:
    04.02.2016

    Репутация:38

    Редактор зачем то оборачивает ссылки в коде из за чего команда с git корявится правильно вот так:
    git clone https://github.com/SFML/SFML.git SFML

    #3248
    Heisenberg
    Heisenberg
    Участник
    Сообщений:314

    Зарегистрирован:
    01.04.2015

    Репутация:139

    Спасибо огромное, буду следовать вашей инструкции :)

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)

Для ответа в этой теме необходимо авторизоваться.