2008-10-17 4 views
1

Je fais une petite application que je veux distribuer sur différentes plateformes, au moins les 3 principales.Est-il possible de fournir des binaires multi-plateforme de FreePascal en utilisant un seul OS hôte?

Est-il possible d'utiliser uniquement Windows avec le système d'exploitation hôte pour compiler les binaires pour Linux, Mac OS X et d'autres plates-formes prises en charge sans recourir à des machines virtuelles?

Ou devrais-je demander autour d'une communauté pour m'aider à compiler sur, bien OS X, en fait, puisque je peux virtualiser une machine Linux assez facile?

Répondre

4

Il est possible de compiler d'un à l'autre plateform, il est appelé compilation croisée. Vous trouverez des informations importantes à http://www.stack.nl/~marcov/buildfaq.pdf
Le buildfaq ci-dessus contient l'échantillon de compilation croisée:

  • de Windows à Linux,
  • de FreeBSD AMD64 Linux

La page de téléchargement CPF contient :

  • le i386-win32 à x86_64-win64 cr oss compilateur
  • i386-win32 à bras-WinCE compilateur croisé

Les listes de diffusion CPF sont à http://www.freepascal.org/maillist.var
Vous trouverez plus d'informations sur CPF à http://www.freepascal.org/moreinfo.var

0

Je voudrais virtualiser Linux, car même si vous pouvez effectuer une compilation croisée, cela signifie que vous ne testez pas les binaires sur leurs plates-formes natives. OS X est un problème plus délicat.

0

Il n'est pas possible de compiler d'une plate-forme à une autre. Nous avons un Mac et utilisons FPC assez souvent. Si vous avez besoin d'aide pour compiler sur un mac, envoyez-moi un message.

+0

Je voudrais bien pouvoir vous envoyer un message, mais on dirait que vous ne répondez vraiment pas sur [email protected] –

+0

Désolé, j'ai oublié de répondre. Je t'ai envoyé un e-mail. – Birger

+0

Ceci est incorrect, j'ai crosscompilé un Lazarus entier de win32 à Mac et retour. Certaines combinaisons ne sont pas faciles, sans parler de l'utilisateur final prêt, mais cela peut être fait principalement, sauf de (non-x86) -> x86 en raison de l'utilisation prolongée des constantes REAL dans le générateur de code x86. Notez que inclut windows/x86_64 (aka Windows x64, 64 bits etc), depuis étendu a été marqué obsolète dans Windows/x86_64 apis. –

1

(je suis l'auteur du document buildfaq ci-dessus)

Il existe certaines limitations. Vous ne pouvez pas cibler x86 à partir de powerpc, car powerpc manque un type "étendu". Mais en général cela fonctionne.

J'ai généré une version complète de Lazarus pour OS X sous Windows.

+0

Merci MarcoV, j'apprécie cela. Je ne vais pas supporter powerpc, je pense que c'est un peu dépassé même s'il y en a encore beaucoup ... –

Questions connexes