# [C++] Créer un .app avec XCode



## alias42 (9 Juillet 2010)

Bonjour à tous
je m'intéresse depuis peu à la programmation sous MacOS.
J'ai développé un petit logiciel sous windows que j'aimerais rendre portable sur MacOS.
Pour cela, j'ai installé XCode, récupéré mes sources C++, créé un nouveau projet "C++ Tool" dans XCode, puis ajouté mes sources.
J'ai déjà, pour faire des test, réussi à faire des .app simples, en créant manuellement l'arborescence nécessaire, puis en ajoutant l'exécutable dans Contents/MacOS . Cela fonctionnait très bien.
Mais pour mon application, la compilation se passe bien, il me reste plus qu'a créer le bundle (.app) afin de pouvoir intéragir avec la fenêtre ainsi créée.
Le problème, c'est que je n'y parvient pas : En créant un répertoire avec cette arborescence à l'intérieur ( /Contents/MacOS) et en mettant mon executable à l'intérieur, j'obtient l'erreur "vous ne pouvez pas ouvrir l'application "test" car elle n'est pas prise en charge dans cette architecture"
J'utilise dans mon applications 3 librairies différentes : 
- wxWidgets
- GDCM
- Vtk
J'ai linké toutes ces librairies directement dans les options de mon projet dans XCode ( dans Header Search Paths / Library Search Paths et dans Other Linker Flags ).
Est il possible de configurer XCode pour qu'il génère directement un .app ? Ou dois-je le créer manuellement ? A ce moment la, comment faire pour inclure les librairies dans le .app (je pense que mon problème vient de là)
Merci d'avance pour votre aide!


----------



## ntx (9 Juillet 2010)

Encore heureux qu'il ne faille pas faire le bundle à la main :rateau:

Il se trouve dans le répertoire "build" de ton projet soit dans Debug soit dans Release en fonction du mode de génération configuré dans ton IDE. Par contre il est possible qu'il faille ajouter des phase dans ta cible de build pour copier les librairies utilisées dans ton bundle.

RTFM


----------



## alias42 (9 Juillet 2010)

Hum,
je compile en debug.
Dans le répertoire build, il y a bien un répertoire debug, mais il ne contient qu'un fichier exécutable qui ne fait pas parti du bundle. Quand je le lance, il me lance la fenêtre principale du code (apres avoir lancé le terminal), et je ne peux pas interagir avec, à part cliquer sur fermer, réduire ou agrandir...


----------



## ntx (9 Juillet 2010)

L'exécutable EST le bundle. Clic-droit, "Afficher le contenu du paquet".

Il faut sûrement ajouter des étapes à la compilation ou construire ton projet autrement, voir la doc de wxWidget.


----------

