Compilation du code C ++ (XCode) pour iOS et Android. Est-ce que c'est réel?

Je veux essayer d'écrire et compiler le code C ++ pour les appareils iOS et Android. J'ai utilisé XCode depuis un certain temps (j'écrivais le code c ++ pour MacOS et Windows). Je voudrais donc utiliser XCode pour mes besoins.

Le problème est que je ne sais pas comment compiler le code C ++ pour les appareils Android et iPad / IPhone. Je veux utiliser crossplatform-solution pour iOS et Android, mais je ne veux pas utiliser des frameworks tels que Marmalade (c ++) ou d'autres.

  • Comment utiliser okhttp pour télécharger un fichier?
  • Android Studio Error: "Vous devez installer le support d'assistance Android via le SDK Manager"
  • Exemple d'utilisation d'onglets Android avec des vues plutôt que des activités?
  • Android 3.x SEULEMENT WebView Text Selection + JavaScript
  • Android WebView -> Affichage WebArchive
  • Autorisation READ_EXTERNAL_STORAGE d'Android ne fonctionne pas
  • Est-ce réel ou non? 🙂 Existe-t-il des tutoriels ou d'autres documents utiles?

  • Lancer une application Facebook à partir d'une autre application
  • Les préférences Android: quelle est la différence?
  • Square 's OkHttp. Progression du téléchargement
  • Aperçu du créateur de studio Android: comment inclure un cadre de périphérique?
  • La vision de l'image Android modifie la teinte pour simuler le clic du bouton
  • Equivalent de iOS NSNotificationCenter dans Android?
  • One Solution collect form web for “Compilation du code C ++ (XCode) pour iOS et Android. Est-ce que c'est réel?”

    Vous pouvez certainement utiliser C ++ sur iOS et Android. J'ai écrit mes propres moteurs de jeu pour les deux.

    Xcode est l'IDE normal pour iOS et supporte nativement le développement "Objective-C ++" (le compilateur prend en charge à la fois Objective-C et C ++ ). Vous devrez écrire un wrapper mince dans Objective-C pour interagir avec le système d'exploitation, mais vous pouvez écrire tout le reste dans C ++ si vous le souhaitez. Si vous téléchargez les outils de ligne de commande Xcode, vous pouvez également créer à partir de scripts.

    Eclipse est l'IDE habituel pour Android et si vous téléchargez NDK, vous pouvez utiliser JNI pour l'interface entre Java et C ++. Tout comme iOS, vous devrez au moins un wrapper Java interagir avec le système d'exploitation.

    Vous n'êtes pas limité à Eclipse et Xcode, cependant. Vous pourriez, par exemple, utiliser emacs et / ou utiliser CMake pour vous permettre d'essayer un peu de consolider les paramètres du projet. Emacs est un IDE très puissant et flexible, mais il a une courbe d'apprentissage très raide et pas très simple à installer. Si vous faites cela sur Mac, je recommanderais emacsformacosx et installer ECB et compléter automatiquement . CMake est essentiellement un système de construction multiplate-forme qui vous permet de créer de nombreux fichiers de projets différents (Visual Studio, Xcode, Eclipse, etc.) à partir d'un arbre source. Tout comme Emacs, cette courbe d'apprentissage est super puissante, mais une courbe d'apprentissage abrupte. Si vous voulez sauter immédiatement, vous voudrez probablement commencer avec Xcode et Eclipse. Si vous développez sur un PC, vous auriez besoin d'une Mac VM ou d'un Hackintosh pour utiliser Xcode et cygwin pour utiliser le NDK pour Android (les utilisateurs de Macbook Pro peuvent s'amuser tout de suite avec peu de tracas).

    Le développement natif d'Android est certainement beaucoup plus difficile. Non seulement vous avez beaucoup plus de segmentation de périphérique, mais le débogage natif n'est pas très simple. Vous devez exécuter un serveur GDB sur l'appareil et vous connecter pour définir des points d'arrêt et beaucoup de personnes le font à partir de la ligne de commande. J'ai entendu que certaines personnes ont réussi avec Tegra Tools for Eclipse si vous voulez un IDE basée sur GUI.

    Je recommanderais certainement de développer sur iOS d'abord, car vous avez des outils beaucoup plus puissants à votre disposition auprès de l'IDE. Vous pouvez suivre les fuites de mémoire, le code du profil, définir les points de coupure facilement;), etc. Une fois que vous développez une fonctionnalité sur l'iOS, vous pouvez alors lutter contre les fichiers .mk et d'autres types de développement natif Android.

    Voici quelques informations sur les objets de base et le cycle de vie pour iOS:

    • Objets de noyau
    • Cycle de la vie

    Et pour Android:

    • Cycle de la vie

    Tant que vous jouez bien avec le système d'exploitation et respectez le cycle de vie de l'application, vous pouvez passer des appels à la logique C ++. Vous pouvez le faire directement avec iOS, mais avec Android, vous devez marquer les appels via JNI. Si vous encapsulez les spécifications de la plate-forme, vous pouvez partager la logique C ++ entre les deux plates-formes.

    Je suis un grand défenseur de C ++, mais le choix de l'utiliser dépend de la situation de ces plates-formes. C ++ n'est pas le choix populaire pour ces plates-formes et, en tant que tel, vous ne trouverez pas autant de documentation (la vôtre la plupart du temps). La complexité peut augmenter un peu si vous n'êtes pas très familier avec C ++ (connaissez-vous RAII , modèles de conception , STL ?).

    Voici quelques situations où cela peut avoir un sens:

    • Si vous devez utiliser une bibliothèque qui a été créée en C / C ++
    • Si vous souhaitez construire votre propre plateforme pour vos applications ou jeux
    • Si vous travaillez avec des applications critiques en temps réel ou performantes telles que des jeux

    Je ne dis pas que vous devez utiliser C ++ dans ces situations car beaucoup de personnes ont développé des jeux dans Objective-C. Je dis simplement qu'il peut être quelque chose à considérer si vous devez tirer le meilleur parti du matériel ou vous voulez simplement quelque chose de plus portable.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.