# Exporter une application



## Jacques83 (6 Septembre 2012)

Salut tout le monde, je suis étudiant en GEII et j'ai des cours de programmation en langage C. Le problème est que mon prof est un inconditionnel de linux et que j'ai récemment fais l'acquisition d'un macbook air, et que je ne veux pas y mettre linux dessus.
Je programme donc sous Xcode et lui sous Geany, ma question est la suivante:
Comment exporter mon programme fait sur xcode en une application exécutable sous linux et/ou windows, et comment exporter mon programme en un fichier qu'il pourrait ouvrir pour voir les lignes de codes ? 
Merci de votre aide, j'en ai vraiment besoin car je dois rendre avant lundi un premier programme sous forme exécutable puis sous forme d'un fichier qu'il pourrait ouvrir dans geany pour y voir les lignes de codes.
Pour information, le programme permet seulement de calculer la surface d'un disque avec le rayon qui est demandé au début.

---------- Nouveau message ajouté à 16h37 ---------- Le message précédent a été envoyé à 15h47 ----------

Juste une petite précision, j'ai crée mon projet dans "OS X" "Application" "command line tool"


----------



## Nyx0uf (6 Septembre 2012)

T'envoies tes fichiers sur ton Linux et tu recompiles avec gcc;


----------



## Jacques83 (7 Septembre 2012)

Je n'ai pas personnellement linux, c'est mon prof qu'il l'a. Il faudrait que je puisse lui donner une application ou il n'est plus qu'à l'exécuter. Est-ce possible avec xcode ? Peut on créer avec xcode un exécutable qui marche sous linux et/ou windows ? 
C'est cela que j'aimerais savoir.
Merci


----------



## Nyx0uf (7 Septembre 2012)

Jacques83 a dit:


> Je n'ai pas personnellement linux, c'est mon prof qu'il l'a. Il faudrait que je puisse lui donner une application ou il n'est plus qu'à l'exécuter. Est-ce possible avec xcode ? Peut on créer avec xcode un exécutable qui marche sous linux et/ou windows ?
> C'est cela que j'aimerais savoir.
> Merci



Tu peux pas en C, il faut lui envoyer les fichiers sources et il recompile. Les formats d'executable OS X / Linux / Windows sont différents.

http://en.wikipedia.org/wiki/Executable_and_Linkable_Format

http://en.wikipedia.org/wiki/Mach-O

http://en.wikipedia.org/wiki/Portable_Executable


----------



## melaure (7 Septembre 2012)

Crée toi une machine virtuelle avec Linux pour lui faire un exécutable (ou un package qui compile et installe )


----------



## Jacques83 (7 Septembre 2012)

D'accord. Et sinon j'ai vu qu'il était possible d'installer code::blocks, est il possible avec ce logiciel de faire ce que j'aimerais ?
Merci beaucoup pour vos réponses.


----------



## Jacques83 (7 Septembre 2012)

j'ai installer ubuntu 12.04 sur une liveusb qui s'exécute sans problème sur mon mac, je boot dessus, y est installer geany y est tapé un programme (l'éternel hello wolrd) et l'est compiler puis construit. 
1er problème, impossible de l'ouvrir sous ubuntu, le fichier est bien la suite à l'action "compil & build" mais je ne peut rien en faire.
2ème problème, ne s'exécute pas sous windows.
J'ai donc ensuite essayé autre chose en téléchargeant code::blocks sur mon mac, j'ai fais le programme je le "compil&build" et une fois de plus impossible de le lire sous windows ou linux. 

Aidez moi s'il vous plait c'est pour lundi !!!


----------



## Nyx0uf (7 Septembre 2012)

Jacques83 a dit:


> D'accord. Et sinon j'ai vu qu'il était possible d'installer code::blocks, est il possible avec ce logiciel de faire ce que j'aimerais ?
> Merci beaucoup pour vos réponses.



Visiblement tu n'as absolument rien compris à mon post précédent. Tu pourras pas avoir un binaire unique qui s'execute sur les 3 plateformes.


----------



## melaure (7 Septembre 2012)

Nyx0uf a dit:


> Visiblement tu n'as absolument rien compris à mon post précédent. Tu pourras pas avoir un binaire unique qui s'execute sur les 3 plateformes.



C'est pourtant le premier truc à comprendre, que chaque OS a besoin d'un programme compilé DIFFERENT ...


Ensuite si le programme est compilé sous Linux (franchement la VM c'est plus simple car tu restes aussi sous OSX), tu l'éxécute sous Linux et pas ailleurs. Il te faudra une VM Windows pour faire l'executable Windows ...


----------



## Jacques83 (8 Septembre 2012)

D'accord, j'ai compris. Je vous remercie ! Je lui donnerais le fichier .c qui lui est de ce que j'ai pu essayer ouvrable sous different logiciel.
merci encore.


----------



## melaure (9 Septembre 2012)

Si tu as fait du C ANSI et un makefile multi-plateforme, ton appli sera compilable partout


----------



## ntx (9 Septembre 2012)

melaure a dit:


> Si tu as fait du C ANSI et un makefile multi-plateforme, ton appli sera compilable partout


Non le code source sera compatible, mais pas l'exécutable. Et le makefile peut varier d'une plate-forme à une autre, ou tout du moins doit prendre en compte les différentes plate-formes sur lesquelles il doit être utiliser.

Ceci dit, si tu dois bosser toute l'année sur des applis Linux, il va falloir songer à t'installer une VM avec Linux. VirtualBox et Linux sont gratuits. Demande juste à ton prof la version qu'il utilise pour installer la même sur ta VM.


----------



## melaure (9 Septembre 2012)

ntx a dit:


> Non le code source sera compatible, mais pas l'exécutable. Et le makefile peut varier d'une plate-forme à une autre, ou tout du moins doit prendre en compte les différentes plate-formes sur lesquelles il doit être utiliser.



Je n'ai pas dit le contraire, je bosse justement en multi-os (Windows/Linux/HP-UX/AIX) avec un makefile unique qui compile en fonction de l'OS 

Mais c'est sur qu'on ne déplace pas les exe d'un OS à l'autre


----------

