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

 C++ Discussion :

Différences compilation Linux(make/gcc)/Windows(mingw)


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Différences compilation Linux(make/gcc)/Windows(mingw)
    Bonjour,

    Je me pose quelques questions concernant les différences entre la compilation Linux(make/gcc) et Windows(mingw).
    Tout d'abord, j'explique un peu mon soucis. Je travaille sur un projet logiciel qui fait appel à des librairies externes telles que Qt, Vxl, ... Pour des raisons X, je code sous windows () en utilisant MinGw. J'aimerais désormais mettre au point un serveur d'intégration continue en utilisant Hudson (https://hudson.dev.java.net/) pour la gestion de mes tests au cours de l'évolution du projet. Le problème est que mon serveur est sous Linux donc mes tests unitaires se feront sous Linux avec make/gcc pour la partie intégration continue et sous Windows avec minGw pour "la vie de tous les jours".

    1 - Est-ce qu'il est possible que des différences de compilation apparaissent entre les deux compilations ?
    2 - Est-il possible que des tests unitaires passent sous Windows avec MinGw et ne passent pas sous Linux ? et inversement ?
    3 - Ca vous semble jouable ou il vaut mieux que je passe mon serveur sous Windows ?
    4 - J'imagine que ça dépend de ce que j'utilise dans mes programmes. Qu'est ce qui pourrait poser problème ? thread ? socket ?

    Merci pour votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par boelraty Voir le message
    Bonjour,

    Je me pose quelques questions concernant les différences entre la compilation Linux(make/gcc) et Windows(mingw).
    Tout d'abord, j'explique un peu mon soucis. Je travaille sur un projet logiciel qui fait appel à des librairies externes telles que Qt, Vxl, ... Pour des raisons X, je code sous windows () en utilisant MinGw. J'aimerais désormais mettre au point un serveur d'intégration continue en utilisant Hudson (https://hudson.dev.java.net/) pour la gestion de mes tests au cours de l'évolution du projet. Le problème est que mon serveur est sous Linux donc mes tests unitaires se feront sous Linux avec make/gcc pour la partie intégration continue et sous Windows avec minGw pour "la vie de tous les jours".

    1 - Est-ce qu'il est possible que des différences de compilation apparaissent entre les deux compilations ?
    2 - Est-il possible que des tests unitaires passent sous Windows avec MinGw et ne passent pas sous Linux ? et inversement ?
    3 - Ca vous semble jouable ou il vaut mieux que je passe mon serveur sous Windows ?
    4 - J'imagine que ça dépend de ce que j'utilise dans mes programmes. Qu'est ce qui pourrait poser problème ? thread ? socket ?

    Merci pour votre aide
    C'est jouable - j'ai fait le presque-exact inverse (développement sous Linux, mais hudson sous Windows, avec cygwin et non pas mingw). Au début de la compilation, un script ./configure (généré avec les GNU autotools) était utilisé pour vérifier la plateforme et minimiser au maximum les différence de code entre les deux versions.

    Ceci dit, le processus de compilation sera forcément différent ; ainsi que le traitement des chemins pour les fichiers - et quelques autres petites choses. Si le code source est correctement écrit, ça ne devrait pas poser de problème. Pour ce qui est des threads, tu seras nécessairement limitée à pthread. Pour ce qui est des sockets, il te faudra prendre en compte le fait que l'API sous Windows n'est pas la même que sous Linux (merci Winsock).
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par Emmanuel Deloget Voir le message
    Pour ce qui est des threads, tu seras nécessairement limitée à pthread.
    surtout pas ! Il y a la classe QThread sous Qt (que tu dis utiliser) qui est portable.
    Je te conseil d'ailleurs vivement d'utiliser cette librairie au maximum car la plupart de ses composants sont multiplateformes ce qui t'évitera bien des ennuis.

    Pour tes questions cela dépend si tu produit du code portable et aussi des librairies que tu utilise.
    cependant si ton appli n'a pas pour finalité d'être multiplateforme c'est peut être ce faire du mal pour rien.

Discussions similaires

  1. GCC windows linux cross compiler
    Par sybe30 dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 22/01/2010, 17h48
  2. Compile avec VC8, mais pas MinGW GCC 3.4.5
    Par Aszarsha dans le forum Visual C++
    Réponses: 3
    Dernier message: 01/09/2006, 13h26
  3. [mono] Compilation sous linux, erreur dans windows
    Par AlexandreP dans le forum Mono
    Réponses: 6
    Dernier message: 18/08/2006, 19h56
  4. Compilation linux ou windows.
    Par petdelascar dans le forum Choisir un environnement de développement
    Réponses: 7
    Dernier message: 22/12/2005, 15h38
  5. [GCC]Probleme compilation FLAT BINARY sur windows
    Par Hexanium dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 24/07/2005, 18h07

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