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

wxWidgets Discussion :

transposer du code Linux <--> Windows


Sujet :

wxWidgets

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut transposer du code Linux <--> Windows
    Bonjour à tous,

    cela fait quelques temps que j'essaie de comprendre comment porter du code entre Linux et Windows et vice-versa ( Linux <--> Windows).

    J'utilise (ou plutôt je teste pour le moment)
    - VC++/wxWidgets/CodeBlocks et DialogBlocks sous Win7 64 bits d'un côté
    - et GCC/wxWidgets/CodeBlocks et DialogBlocks sous Mandriva 2010.2 32 bits de l'autre

    J'ai essayé de porter des programmes entre les systèmes Linux <--> Windows, mais je n'arrive à rien pour le moment:
    y a-t-il une méthode relativement simple pour que le code développé sur une plateforme puisse être recompilé sur l'autre ?

    BakeFiles ? je n'arrive à rien pour le moment

    Mais, étant donné que j'utilise la même librairie (wxWidgets) et le même RAD (que ce soit CodeBlocks ou DialogBlocks de chaque côté), est-ce que je ne peux pas réutiliser les mêmes sources?

    Si oui, comment procéder ?
    Comment modifier les fichiers pour que les paramètres de compilation soient adaptés à la nouvelle plateforme sur laquelle je veux recompiler les sources ?

    Peut-être y a-t-il un tuto à ce propos déjà (que je n'ai pas trouvé) ?

    Merci d'avance

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Citation Envoyé par ylyco Voir le message
    J'ai essayé de porter des programmes entre les systèmes Linux <--> Windows, mais je n'arrive à rien pour le moment:
    y a-t-il une méthode relativement simple pour que le code développé sur une plateforme puisse être recompilé sur l'autre ?
    Je ne connais pas vrai marche à suivre, mais il faut commencer par un point, et voir par la suite. Donc, on commence par essayer de compiler sur la nouvelle plateforme (logique). Et après, on corrige toute les erreurs que renvoie le compilateur. Une fois la correction terminer on test pour voir si on a rien cassé. Et voilà à peu près.
    Sachant que les étapes sont plus ou moins longues selon le code de base. Un code dit portable est un code dont ces étapes sont très courtes (voir même , on compile dès le premier essai)

    Citation Envoyé par ylyco Voir le message
    BakeFiles ? je n'arrive à rien pour le moment
    MakeFiles ?

    Citation Envoyé par ylyco Voir le message
    Mais, étant donné que j'utilise la même librairie (wxWidgets) et le même RAD (que ce soit CodeBlocks ou DialogBlocks de chaque côté), est-ce que je ne peux pas réutiliser les mêmes sources?
    En fait, oui on peut réutiliser les sources, à partir du moment où on utilise les même bibliothèques. L'utilisation des mêmes RAD importe peu, sauf que vous gagnerez le temps de la configuration de ceux ci normalement (fichier de projet).
    Il peut y avoir un autre cas (ultra lourd) qui est que les bibliothèques sont différentes selon les plateformes, mais que l'on utilise le même code, car soit celui-ci est compilé en utilisant des variables de précompilation (#define et autre) soit car le makefile (ou autre fichier de projet) inclut les fichiers selon la plateforme en cours (et donc évite les fichiers non adéquats).

    Citation Envoyé par ylyco Voir le message
    Comment modifier les fichiers pour que les paramètres de compilation soient adaptés à la nouvelle plateforme sur laquelle je veux recompiler les sources ?
    Si on utilise un EDI, celui-ci doit bien faire les choses ... Code::Blocks ne devrait pas poser de problème

    Citation Envoyé par ylyco Voir le message
    Peut-être y a-t-il un tuto à ce propos déjà (que je n'ai pas trouvé) ?
    Je n'en connais pas ... je serai curieux d'en voir un. Comme je l'ai dit, il n'y a pas une façon de faire ... mais plein.
    Après, avec l'expérience (si on a l'expérience de la compilation sur les deux plateformes) le travail est plus facile
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci pour ces renseignements
    Je vais continuer à chercher dans cette direction alors

  4. #4
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Pour la réutilisation de fichiers de projet d'un EDI (Code::Blocks ici), le problème viendra du nommage des disques (pas de c: sous linux).
    J'ai abandonné le portage par fichier de projet, j'utilise CMake qui fait du très bon boulot : portage et compilation de projet sous Visual Studio 2008 et 2010 sur un Windows Seven (32 et 64 bits), ainsi qu'en simple makefile sous Linux debian wheezy amd64, ou en makefile/code::blocks sur les 2 plateformes.
    De plus il n'y a pour ainsi dire aucun poids ajouté au code source, juste le fichier CMakeLists.txt, pour passer d'une plateforme à l'autre.
    Pour les librairies, si c'est une librairie reconnue (wxwidgets, boost, ...) il n'y aura aucun problème pour la retrouver, sinon il faut se palucher un petit script permettant de retrouver les includes et les .lib à linker, mais rien de bien méchant.
    Je recommande chaudement ^^
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. Transfert de code Linux/Window - grosscompilation
    Par PulseWidth dans le forum C
    Réponses: 6
    Dernier message: 23/06/2015, 20h28
  2. Réponses: 5
    Dernier message: 27/02/2013, 14h00
  3. [Prob] code qui fonctionne sous windows mais pas sous linux
    Par hannibal.76 dans le forum Multimédia
    Réponses: 3
    Dernier message: 07/02/2011, 17h46
  4. Problème portage code Linux vers Windows
    Par scary dans le forum Windows
    Réponses: 14
    Dernier message: 11/01/2010, 17h56
  5. Code Block est plus strict sous linux que sous Windows
    Par Davidbrcz dans le forum wxWidgets
    Réponses: 2
    Dernier message: 21/02/2007, 19h25

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