Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/04/2007, à 14:10

Link/DD

Compiler pour Mac et Windows sous linux

Distribution : Xubuntu Edgy Eft 6.10 (bientôt Ubuntu 7.04)

Voila je créer un logiciel multi-plate-forme, donc je l'ai déja compiler sous linux, il me reste plus qu'a le compiler sous Mac et sous Windows, or je n'ai pas Mac et je n'ai plus Windows. Donc faut tout compiler sous Linux, mais comment ?


Toute la prog : www.toutelaprog.tux-atome.fr
Le site du projet Shell O.S. : http://shellos.dev.tux-atome.fr

Hors ligne

#2 Le 27/04/2007, à 16:50

Scoutone

Re : Compiler pour Mac et Windows sous linux

la question m'intéresse également.

J'ai fait un minijeu, et je veux en faire profiter ma classe.
Je suis obligé d'aller sous windows pour leur compiler le projet et je ne peux pas le faire pour Mac, je trouve ca agacant, il doit forcement exister une solution !

ou alors compiler dans un format compatible PC/Mac, mais je ne connais pas le nom...:(

#3 Le 27/04/2007, à 17:12

Watchwolf

Re : Compiler pour Mac et Windows sous linux

ce n'est pas possible wink

Deja que entre distribution ce n'est pas possible, alors entre OS big_smile

Hors ligne

#4 Le 27/04/2007, à 17:47

AlexandreP

Re : Compiler pour Mac et Windows sous linux

Ben, pour Windows, en cherchant dans la documentation, j'ai vu Ming32. Mais je n'ai pas de solution pour MacOS.


«La capacité d'apprendre est un don; La faculté d'apprendre est un talent; La volonté d'apprendre est un choix.» -Frank Herbert
93,8% des gens sont capables d'inventer des statistiques sans fournir d'études à l'appui.

Hors ligne

#5 Le 28/04/2007, à 12:23

Scoutone

Re : Compiler pour Mac et Windows sous linux

#%*µ$¤£ mad
c'est franchement dommage, mais une question me turlupine:
Code::blocks existe aussi bien sous Windows que sous ubuntu, alors pourquoi ce ne serais pas possible ?

le tuto sur Mingw32 permet de faire ca (c'est déjà ca wink )

sinon, j'ai cru comprendre qu'il existait un type de fichier exécutable qui marche sous PC et Mac (universal binaries je crois) peut-on compiler via Ubuntu voire Windows dans ce format ? et comment faire ?

Dernière modification par Scoutone (Le 28/04/2007, à 12:28)

#6 Le 28/04/2007, à 16:39

TatSou-Max

Re : Compiler pour Mac et Windows sous linux

Si je ne me trompe pas, lorsque l'on compile un programme, il est spécifique à l'OS (et même à la distribution) sur lequel on le compile.

Comme la si bien dit Watchwolf, un programme compilé sous ubuntu ne marchera déjà pas sous Mandriva, alors de la à le faire tourner sous Win et Mac, peine perdu.

Je pense (à titre personnel) que le meilleur moyen de partager ton programme avec toutes les plateformes, c'est de diffuser les sources et non un exécutable.

Scoutone a écrit :

blocks existe aussi bien sous Windows que sous ubuntu, alors pourquoi ce ne serais pas possible ?

Très certainement parce qu'ils ont du compiler leur source 2 fois: une fois pour windows et une 2nde fois pour Ubuntu.

Dernière modification par TatSou-Max (Le 28/04/2007, à 16:42)

Hors ligne

#7 Le 28/04/2007, à 17:04

kaworu

Re : Compiler pour Mac et Windows sous linux

TatSou-Max a écrit :

Comme la si bien dit Watchwolf, un programme compilé sous ubuntu ne marchera déjà pas sous Mandriva, alors de la à le faire tourner sous Win et Mac, peine perdu.

Je pense (à titre personnel) que le meilleur moyen de partager ton programme avec toutes les plateformes, c'est de diffuser les sources et non un exécutable.

Très certainement parce qu'ils ont du compiler leur source 2 fois: une fois pour windows et une 2nde fois pour Ubuntu.

Un programme compilé pour Ubuntu marchera sur Mandriva. Il faut juste remplir certaines conditions. Par exemple, il faut les même versions des bibliothèques au même endroit. Par contre, un programme peut très bien être compilé sous Ubuntu-6.10 et ne pas marcher sous Ubuntu-7.04 (à moins d'installer des libs de Ubuntu-6.10, pour la même raison que Mandriva).

les universal binaries sont d'un autre type. ça ne marche que pour MacOS et c'est pour que ça marche et sous MacOSX version PPC (PowerPC) et MacOSX version Intel. Là c'est un problème d'architecture. En faite y a aucune magie dans ces "universal binaries", ils sont à peu près 2x plus lourd que le binaire pour PPC seulement ou Intel seulement, en faite le programme est quand même compilé 2x et simplement "emballé" dans un fichier.
http://fr.wikipedia.org/wiki/Universal_binaries

En effet diffuser les sources (tant qu'il n'y a pas d'appels à des lib qui ne sont que sur un OS, d'assembleur, d'appel système trop dépendant de l'OS) permet une bonne portabilité.
Autrement une solution (peut-être finalement, la plus simple) c'est d'écrire le programme dans un language de script comme Python/Perl/Ruby (Java aussi bien que pas un language de script, il suffit de le compiler une fois). Attention toute fois il ne faut pas non plus utiliser de lib non portable si le but est la portabilité etc. Les langages de script ne sont pas adaptés à des programmes où la performance est une priorité, et un script veut dire forcément diffuser les sources (sauf pour Java et quelques exceptions).


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#8 Le 28/04/2007, à 17:51

TatSou-Max

Re : Compiler pour Mac et Windows sous linux

Tiens en lisant le post de kaworu, une idée m'est venue.
Quel langage utilises tu ?

Hors ligne

#9 Le 28/04/2007, à 20:02

Scoutone

Re : Compiler pour Mac et Windows sous linux

moi mon programme est en C++

sinon, je suis tout à fait d'accord qu'il vaut mieux distribuer les sources, c'est ce que j'ai fait pour ledit projet que je cherche à faire partager à ttes ma classe.

Mais hélas, c'est là qu'est l'os, ils n'ont aucune idée de ce qu'est la programmation (à part peut-être un truc de geek... tongue ) alors leur demander de compiler quelque chose...c'est la galère, de plus ils sont sous Mac ou Windows, c'est là que mon pb se pose, tout n'est pas aussi simple que sous Ubuntu tongue où il suffit de leur demander de taper 2 lignes ds le terminal pour que tt marche !

et je vois mal comment faire plus simple que de refiler directement l'executable.

et merci pour ces precisions sur les universal binaries (ca m'évitera des heures de recherche pour rien)

Dernière modification par Scoutone (Le 28/04/2007, à 20:05)

#10 Le 29/04/2007, à 09:58

TatSou-Max

Re : Compiler pour Mac et Windows sous linux

Et bien franchement, moi, à part demander à tes potes de te prêter leur PC le temps de faire un exécutable pour chaque OS, je ne vois pas vraiment de solution.

désolé.

Hors ligne

#11 Le 29/04/2007, à 10:02

Watchwolf

Re : Compiler pour Mac et Windows sous linux

ou alors tu met les sources + instruction de compilation sur un forum Windows et Mac en demandant gentillement si quelqu'un pourrait te le le compiler wink

Hors ligne

#12 Le 29/04/2007, à 10:12

TatSou-Max

Re : Compiler pour Mac et Windows sous linux

+1 Watchwolf
j'y avais pas pensé.

Hors ligne

#13 Le 29/04/2007, à 16:04

Scoutone

Re : Compiler pour Mac et Windows sous linux

effectivement, ca peut le faire, surtout pour Mac en fait, comme j'ai aussi WinXP sur mon ordi, je peux le compiler moi même mais c'est toujours frustrant de devoir changer d'OS pour un truc que tout le monde peut faire quand il a appris, même vite fait

ou alors j'installe wine, j'installe Codeblocks dessus avec les libraires et je compile de cette facon....ca reste tordu quand même hmm
ou alors peut-être que virtual box est plus approprié (parce qu'il émule un PC ?)

je commence à avoir la migraine avec tout ces trucs tongue

#14 Le 29/04/2007, à 19:05

TatSou-Max

Re : Compiler pour Mac et Windows sous linux

Tu te casse trop la tête !
Si tu as WinXP, change d'OS, le résultat est garanti !

Encore se serait pour MacOS, mais la pour Windows...

Hors ligne

#15 Le 29/04/2007, à 19:15

revax

Re : Compiler pour Mac et Windows sous linux

Si tu dois compiler le programme pour un mac, je pourrais voir les sources ?
Je possède un mac, et peut être que je pourrais t'aider (cela sans aucune garantie).

Hors ligne

#16 Le 29/04/2007, à 19:55

Watchwolf

Re : Compiler pour Mac et Windows sous linux

2 choses

- pour compiler il faut les logiciels+bibliotheques, tout le monde n'a pas ca sur son pc. (surtout sous Windows et Mac).
- tu peut tres bien compiler depuis un Windows dans virtualbox (sauf si tu a besoin de 3D, la tu ne pourra pas tester). Pour Macos c'est un peu plus dur.

Hors ligne

#17 Le 29/04/2007, à 20:11

Link31

Re : Compiler pour Mac et Windows sous linux

Mingw est fait pour ça, donc c'est parfaitement possible de cross-compiler pour windows. Pour MasOS je ne sais pas quoi utiliser par contre.

Pour éviter le problème des bibliothèques manquantes : deux solutions :
- les fournir avec l'exécutable
- compiler l'exécutable statiquement (bon ok ça fera un fichier de 20 Mo, mais au moins il fonctionnera partout).

Hors ligne

#18 Le 29/04/2007, à 20:12

Watchwolf

Re : Compiler pour Mac et Windows sous linux

quand je parlais des libraries je parlait des libraries de develloppement (les .h&co).

Hors ligne

#19 Le 29/04/2007, à 20:25

Link31

Re : Compiler pour Mac et Windows sous linux

Watchwolf a écrit :

quand je parlais des libraries je parlait des libraries de develloppement (les .h&co).

Oui, mais je ne répondais pas directement à ton dernier message. Au fait, un .h n'est pas une bibliothèque/librairie, c'est un fichier à inclure qui définit les symboles (fonctions/variables/constantes) présents dans la bibliothèque. Le .h est indispensable pour compiler (il peut être fourni avec les sources, mais ce n'est pas recommandé, vu que les bibliothèques peuvent changer au gré de leur créateur), et les bibliothèques sont indispensables pour compiler et pour faire tourner le programme.

Hors ligne

#20 Le 29/04/2007, à 22:27

Scoutone

Re : Compiler pour Mac et Windows sous linux

@revax effectivement c'est une solution, voici le lien:
morpion3D, sources + .exe pour windows

ca reste encore court, mais bon, tant que c'est jouable, autant faire profiter big_smile

les libraires utilisées sont SDL et OpenGL, et le sdl.dll est avec (au cas ou...)

d'ailleurs j'arrive pas à compiler via mingw32 dès qu'il y a des libraires, mais je verrais ca plus tard...
merci du coup de main

#21 Le 30/04/2007, à 02:29

revax

Re : Compiler pour Mac et Windows sous linux

A quoi ressemble ton application ?

J'ai eu du mal, notamment les noms des bibliothèque pour l'openGL changent..

bref c'est sans doute pas bon mais j'y travaille big_smile
voici ce que donne une fois compilé l'application:  image8il5.th.png
Je peux faire bouger le cude avec le clique gauche mais c'est tout. Je pense qu'il doit y avoir autre chose..
Je regarderais demain.


Edit: hum j'avais pas bien lu le readme :-°
en effet, j'avais pas compris le principe. Bon et ben les lettres ne font rien, j'imagine que ça sélectionne une case. La touche g ne remet pas non plus la vue normal. Cependant les flèches marchent.
Ca doit être un problème de clavier spécifique mac. Je verrais demain.

Edit (2), enfait si je décommente la configuration possible avec le pavé numérique, ça marche smile
Note si je mets, les deux configurations en même temps, ça ne bug pas.
Et si tu tiens absolument que la configuration clavier marche, je pourrais voir ce que je peux faire.
Je te donne le l'exécutable demain.
http://img82.imageshack.us/img82/734/image9zd9.png


(enfin, je gros débutant en prog, donc c'est un miracle que j'ai réussi là)

Et pardon d'avoir pollué le topic :-°

Dernière modification par revax (Le 30/04/2007, à 02:56)

Hors ligne

#22 Le 30/04/2007, à 04:22

Link31

Re : Compiler pour Mac et Windows sous linux

Avec SDL et OpenGL, ça devrait passer tout seul. Une petite remarque en plus, tu peux installer un compilateur windows et le faire tourner avec Wine pour produire des .exe (et pour tester le programme). Ça permet d'éviter de redémarrer ou de lancer une virtualisation de windows juste pour compiler.

Hors ligne

#23 Le 30/04/2007, à 11:30

Scoutone

Re : Compiler pour Mac et Windows sous linux

c'est bien ca, c'est un morpion en 3D big_smile
par contre la config au niveau des touches est en train de varier:
-au début c'était avec le pavé numérique, mais certains ordis n'en ont pas, ce qui rend le jeu...injouable sad
-ensuite j'ai voulu mettre les lettres a,z,e,q,s,d,w,x,c, et g dans la même logique que pour le pavé numérique, mais là la SDL a un pb: les touches sont pour des claviers azerty, mais le programme les mets à leur place de qwerty
-en dernier recours j'ai mis les chiffres situés au dessus des lettres (touches que tout le monde a), mais la jouabilité en prend un coup sad

donc c'est tout à fait normal si ca ne correspond pas tout à fait tongue

et aujourd'hui j'ai réalisé que je pouvais assigner plusieurs touches à un même "ordre" (ca m'avais complètement échappé roll ), donc dès ce soir je remet tout comme il faut avec les 3 séries de touches citées plus haut (même si ca bugue avec les lettres pour le moment)

@link=> ok, je vais tester ca et je vous dis le résultat.
petite question: que dois-je installer pour juste compiler un programme sous WinXP ?
car à ce moment là un IDE n'est pas nécessaire...mais je peux tjs réutiliser Code::blocks et à ce moment je dois également réinstaller toutes les libraires je suppose neutral

EDIT: c'est bon, retélécharge le même lien, tout est OK: les 3 configurations de touches y sont, désormais il sera plus jouable smile et le readme indique les bonnes touches, par contre préviens moi si les lettres ne correspondent pas, en tout cas merci cool

Dernière modification par Scoutone (Le 30/04/2007, à 15:24)

#24 Le 30/04/2007, à 13:37

Link31

Re : Compiler pour Mac et Windows sous linux

Scoutone a écrit :

je peux tjs réutiliser Code::blocks et à ce moment je dois également réinstaller toutes les libraires je suppose neutral

Pourquoi pas Code::Blocks (qui vient probablement avec Mingw). Sinon tu peux essayer d'installer Mingw seul sous Wine, avec les bibliothèques nécessaires bien sûr, ça sera toujours plus facile que de cross-compiler depuis Linux (même si cette cross-compilation se fait également avec Mingw).

Hors ligne

#25 Le 30/04/2007, à 23:53

Scoutone

Re : Compiler pour Mac et Windows sous linux

bon, voici une version un peu plus achevée:
Morpion3D-1.0.0

si tu as terminé avec le précédant, tant pis, mais celui ci est plus jouable (normalement)

d'ailleurs, j'ai réussi à compiler sous ubuntu pour windows:
j'ai installé wine, puis codeblocks avec wine pour windows, ca marche impecc wink

du coup j'ai mis les 2 .cbp dans le dossier, comme ca les options sont dedans et le code est dans les mêmes fichiers (l'un modifie l'autre).