IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Cross compilation Windows / Mac OSX


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut Cross compilation Windows / Mac OSX
    Bonjour à tous

    j'ai vu dans un article Wiki http://fr.wikipedia.org/wiki/Lazarus que Lazarus supportait la compilation croisée entre Windows, Linux, MAC OSX et d'autres.

    Arrêtez-moi si je me trompe, ça voudrait dire que avec le même code, sur un Lazarus qui tourne sur MAC OSX je peux générer directement un .EXE Windows et/ou un executable Linux (via une directive de compil ou une option de choix de plateforme) comme par exemple le permet Delphi XE2 et FMX ?
    Ca paraît trop beau pour être vrai...

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    crossfpc permet même de le faire depuis l'IDE Delphi (sous Windows de fait)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par arkhamon Voir le message
    Arretez moi si je me trompe ca voudrait dire que avec le même code, sur un Lazarus qui tourne sur MAC OSX je peux générer directement un .EXE windows et/ou un executable Linux (via une directive de compil ou une option de choix de plateforme) comme par exemple le permet Delphi XE2 et FMX ?
    Ça parait trop beau pour être vrai...
    Limitations propres à un SE exceptées, la réponse est oui
    Certains ont bâti un EDI de ce type à partir de FPC et Lazarus : CodeTyphon.
    Voir cet article : CodeTyphon Studio 3.00

  4. #4
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    Bonjour,
    Limitations propres à un SE exceptées, la réponse est oui
    Tu peux développer ce que tu entends par "limitations du SE" ? Serait-ce du genre appel de l'API "locale" (je ne me vois effectivement pas appeler l'API windows sur MAC, ou alors les formats de fichiers (.app du MAC par exemple) ?

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Citation Envoyé par arkhamon Voir le message
    Tu peux développer ce que tu entends par "limitations du SE" ? Serait-ce du genre appel de l'API "locale" (je ne me vois effectivement pas appeler l'API windows sur MAC, ou alors les formats de fichiers (.app du MAC par exemple) ?
    C'est cela mais quelquefois, ça peut être encapsulé dans une unité, donc on ne s'en rend pas compte immédiatement, même si la compilation joue en général le rôle du juge de paix...

  6. #6
    Membre éclairé

    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2006
    Messages
    621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Janvier 2006
    Messages : 621
    Par défaut
    Donc si j'ai rien raté. sur mon MAC :
    • J'installe XCode dernière version
    • J'installe FPC dernière version (avec éventuellement les sources)
    • J'installe la dernière version de Lazarus (genre 1.0.2 ou un truc du genre)
    • je code tranquillement dans Lazarus OSX en évitant soigneusement tout appel à une API "OS dépendant" (ou alors via {$IFDEF W32}
    • je compile pour la plateforme que je veux : OSX ou W32 ?
    • Et ca marche au final j'ai un executable natif w32 et OSX sans devori installer Lazarus sous W32 ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Non.... en tout cas, pas à mon avis. En installant Lazarus systématiquement dans les environnements de compilation, je rencontre quand même un certain nombre de problèmes... en général plutôt faciles à résoudre parce que je dispose justement de l'environnement complet de développement... Ce que ne permet pas la cross-compilation ou mal. Alors en vrac, en parcourant un peu notre forum et celui de lazarus.freepascal.org :

    • Si vous utilisez les Widgets graphiques natifs de l'OS (Win ou gtk2 ou Mac) "pilotés" donc par les composants graphiques de Lazarus qui assurent l'interface, cela suppose qu'ils (les Widgets graphiques natifs de l'OS) réagissent de la même façon et disposent de méthodes équivalentes. Par exemple, le EndEllipsis n'est pas implanté dans gtk2 à ma connaissance : http://www.developpez.net/forums/d12...s-endellipsis/
    • De la même façon, dans un TMemo, il est impossible de déterminer la hauteur "automatique" en gtk2 (cf http://www.lazarus.freepascal.org/index.php/topic,19413.0.html), etc, etc, etc... Peut-être pour les environnements graphiques, l'utilisation de QT rend-il la chose plus facile ?
    • L'ordre des successions des évènements n'est pas nécessairement identique d'un OS à l'autre : http://www.developpez.net/forums/d12...-sous-windows/
    • Même entre une compilation Win32 et Win64, on peut rencontrer des problèmes sévères... et inattendus : http://www.developpez.net/forums/d12...zeos-richmemo/ et http://www.lazarus.freepascal.org/index.php/topic,19480.0.html

    Pour m'y être attelé assez longuement, je considère, jusqu'à démonstration du contraire, que la cross-compilation est une "facilité" réservée à de très simples projets ou du moins à des projets très particuliers et spécifiques. Pour le reste, la vraie facilité est d'installer Lazarus dans l'OS de compilation et d'y copier le projet : le temps "perdu" pour installer Lazarus dans chaque OS est très largement compensé par le temps gagné pour réaliser les ajustements nécessaires d'adaptation à la plateforme en question.

    Cordialement. Gilles
    Dernière modification par Invité ; 24/01/2013 à 18h26.

Discussions similaires

  1. Cross-compilation Windows vers Mac
    Par YuGiOhJCJ dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 08/09/2019, 09h09
  2. Réponses: 4
    Dernier message: 05/07/2012, 21h44
  3. Cross-compilation Windows -> Linux
    Par sagopa dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 02/08/2011, 13h30
  4. [Free Pascal] Cross-compiling Windows -> Linux : comment faire ?
    Par zafo dans le forum Free Pascal
    Réponses: 5
    Dernier message: 01/03/2007, 12h43
  5. Cross-compil pour MAC
    Par Ulmo dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 29/09/2006, 19h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo