C++ -> Мобильные платформы

Здравствуйте. Пишем 2д-движок для игр. Все получается отлично, но он работает только для pc-платформы (lin/mac/win). Написав пару оберток и врапперов, я добился портирования на андроид. Теперь хотелось бы запустить все под i-девайсами. Возможно ли без переписывания всего кода на objective c перенести все? Другими словами: можно ли С++-приложение скомпилировать под iphone или ipad, например.

Спасибо.
  • Вопрос задан
  • 3549 просмотров
Решения вопроса 1
@northicewind
Проблем не будет никаких. Apple LLVM Compiler (входящий в состав xcode) спокойно компилирует с++ код. Даже умеет кое-что из с++11. На Obj-C придется сделать точку входа для приложения и, скорее всего, работу со звуком. Смежные части надо будет оформить как Obj-C++ (расширение .mm). Если возникнут сложности с портированием кода, посмотрите на cocos2d-x, но не релиз, а версию из репозитория(там причесали код и поменяли структуру директорий).

Вообще, если у вас движок с самого начала писался как кроссплатформенный и рисует через ogl(ogles), то все будет гладко. Удачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
bobermaniac
@bobermaniac
Попробуйте воспользоваться Objective C++

Правда, у вас будут проблемы. Скорее всего, множество проблем. Но все может заработать.
Ответ написан
Комментировать
corristo
@corristo
Да нормально все будет, просто несколько модулей на Objective-C++ для взаимодействия вашего движка и iOS.
Ответ написан
jintwo
@jintwo
Можно, но так или иначе платформозависимые вещи (отрисовку всего этого добра через coregraphics, например) придется реализовывать на C/Obj-C.
Ответ написан
Комментировать
@YoungSkipper
А что используете для графики? Если opengl — то никаких проблем и не будет, делайте ветку на open gl es (1.1/2.0 — зависит от ваших потрбеностей) и собственно все. С++ код то на ура компиляется и работает.
Ответ написан
DarthRamone
@DarthRamone
Хм. Я может чего-то не понимаю, так что прошу не кидать камнями. Но ведь андроид не поддерживает нативно цпп?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы