Здравствуйте. Я криворукий придурок, у которого всегда ничего не получается.
Какой раз хочу под мобилочки пописать - каждый раз разочаровываюсь или что-то не выходит.
Как писать на чистых плюсах под мобилки? Допустим, я труЪ-погромист, который пишет кроссплатформенный движок (графика на OpenGL).
И вот у меня почесалось одно место и я ВДРУГ захотел добавить поддержку Android. Как быть?
Причём хотелось бы ВООБЩЕ не трогать яжкокод и писать только на плюсах. И как там дела обстоят с другими С++ библиотечками?
Дефайны и ифдефы в помощь. Без явакода это нейтивактивити
Laynos
Наивный. Ты сначала попробуй поставить Android Studio и собрать какой-нить минимальных хелловорлд.
Я буквально на днях колупался, это ***дец, товарищи. Я угробил несколько часов, на это, чтобы наконец то плюнуть и отложить до тех времен, когда мне это понадобится. Что-то не ставится, что-то кем-то не видится... одну проблему решаешь - появляется другая. И это чтобы собрать ***чий хелловорлд.
MrShoor
> Я буквально на днях колупался, это ***дец, товарищи. Я угробил несколько часов,
> на это, чтобы наконец то плюнуть и отложить до тех времен, когда мне это
> понадобится. Что-то не ставится, что-то кем-то не видится... одну проблему
> решаешь - появляется другая. И это чтобы собрать ***чий хелловорлд.
Вот! С точки зрения разработки, Андроид с евойной жабой, - это лютый полярный лис.
Laynos
> Как писать на чистых плюсах под мобилки? Допустим, я труЪ-погромист, который
> пишет кроссплатформенный движок (графика на OpenGL).
> И вот у меня почесалось одно место и я ВДРУГ захотел добавить поддержку
> Android. Как быть?
Самый простой способ, - это таки заюзать жабу для создания OpenGL контекста, загрузки ресурсов и всякого инпута, а вот уже рендер, физику и прочий геймплей звать из С++ сной DLLки через jni. NativeActivity - совсем уж замороченный и глюченный.
Загугли Gameplay3d - нативный бесплатный кроссплатформенный двиг на плюсах под все платформы. Я с ним работал, пока не плюнул на все это велосипедирование и не поженился с Юнити.
cocos2d-x, умеет собираться под вердра в т.ч.
В VS примерчик есть OpenGL ES на плюсах https://msdn.microsoft.com/ru-ru/library/mt171577.aspx
Laynos
> Причём хотелось бы ВООБЩЕ не трогать яжкокод и писать только на плюсах.
NativeActivity + VS от Nvidia или MS. Собираешь свой проект в дллку и все работает. У МС есть пример
Laynos
>Причём хотелось бы ВООБЩЕ не трогать яжкокод и писать только на плюсах. И как там дела обстоят с другими С++ библиотечками?
NativeActivity. Другие библиотеки отлично компилируются и работают. Ну к примеру, pugixml, lua, libpng и т.д. В чем может быть проблема с библиотеками, если только отсутствие скомпилинных версий.?
MrShoor
>Наивный. Ты сначала попробуй поставить Android Studio и собрать какой-нить минимальных хелловорлд.
Можно и без Android Studio/Java, NDK + NativeActivity + Far. Компилируешь все в командной строке. Мне как-то даже пришлось GDB с командной строки запускать. Что-бы все работало побыстрее отладь проект под OpenGL ES 2.0-3x Emulator'ом.
Они есть от Imagination Technologies, Qualcomn, ARM. Первый самый лучший.
Laynos
Я на Java создаю только окно, ловлю инпут и создаю Surface. Потом это дело передаю на C++ сторону и инициализирую gles через EGL.
Довольно всё просто, могу в личку кинуть ссылку на движок свой, он в свободном доступе. Библиотеки сторонние все работают, только их предварительно нужно скомпилировать под нужную платформу (intel x86, armeabi, armeabi-v7) .
Laynos
> Причём хотелось бы ВООБЩЕ не трогать яжкокод и писать только на плюсах. И как
> там дела обстоят с другими С++ библиотечками?
Android NDK ?
https://developer.android.com/ndk/index.html
на pc - Qt5, Corona
на android - AIDE (есть дебагер, автокомплит) , C4Droid (eсть дебагер, SDL,Qt)
Laynos
>Здравствуйте. Я криворукий придурок, у которого всегда ничего не получается.

Laynos
> Причём хотелось бы ВООБЩЕ не трогать яжкокод и писать только на плюсах
Я потихоньку пытаюсь сделать такую либу как хобби проект https://github.com/igagis/mordavokne
Если интересно, присоединяйся. Правда для этого как раз придется и пояжкокодить и пообжективсиить и ещё много всякого, но всё ради высшей цели, хехех :D
Ставишь Visual Studio 2015 с поддержкой Android, создаёшь OpenGL ES приложение и переделываешь его по своему вкусу, постепенно прикручивая свой двиг. Если NativeActivity будет не хватать, можно либо погрузиться в жабу, либо использовать SDL.
Тема в архиве.