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

Discussion :

MSVC vs MinGW

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Par défaut MSVC vs MinGW
    Bonjour,

    Ça fait des mois que je travaille sur un projet Qt avec MSVC. Mon programme fonctionnait bien jusqu'à ce que je change pour MingW. Maintenant j'obtiens pas mal de choses bizarres.

    Pourquoi je n'ai pas exactement la même chose qu'auparavant ? Un bout de code est sensé toujours faire la même chose, non ?

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    As tu bien pensé à compiler Qt avec MinGW (ou à prendre les binaires correspondants)

    Les Dll's en C++ sont compilateur dépendantes dans le sense où il n'y a pas (encore ) d'ABI standard.

    Ce qui fait que, bien que travaillant sur un même système d'exploitation, le simple fait de changer de compilateur (pour une version plus récente, par exemple) peut rendre les dll's inutilisables.

    Alors, quand tu sais que tu changes carrément de compilateur (MSVC est "made by microsoft", alors que MinGW est un protage de... Gcc), tu comprendras sans doute qu'il puisse y avoir des différences dans l'ABI
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Par défaut
    Certaine chose ne sont pas faisable avec MingW si je comprend bien ?

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Non, il n'y a rien qui ne soit pas faisable avec MinGW...

    Il y a *simplement* le fait que l'ABI d'une dll écrite en C++ n'assure, pour l'instant, un travail correct que pour le compilateur, à la version et aux options de compilation près, avec lequel elle a été compilée, à l'inverse des dlls écrites en C ou présentant une interface C qui fournissent une ABI stantardisée.

    A la restriction près que tu es obligé d'utiliser une Dll C++ avec le compilateur identique à la version et aux options près que celui utilisé lors de la génération de la dll, il n'y a strictement aucune limite à ce que tu peux faire avec MinGW...

    Si tu compiles Qt avec MinGW ou que, à défaut, tu télécharge les binaires relatifs à ta version de MinGW, tu pourras sans aucun problème compiler le code que tu avais à l'origine écrit pour MSVC et en utiliser le résultat, sans avoir à changer la moindre virgule

    Tu pourais d'ailleurs (à la restriciton près que les activeX n'existent pas sous linux) tout aussi bien compiler ton code sous linux de la même manière
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Par défaut
    J'ai pas tout compris

    La compilation se passe bien avec MingW. Mais le résultat finale n'est pas le même.

    J'utilise un QGlWidget dans lequel je déplace à la souris des pièce en 3D. Le déplacement est saccader, et les pièces sont décalées avec MingW.

    A chaque évènement de la souris, je calcule la position de la pièce dans l'espace. Le calcul est assez simple, le résultat devrais être le même !

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Citation Envoyé par CliffeCSTL Voir le message
    . Le calcul est assez simple, le résultat devrais être le même !
    oui il devrait être le même

    y a t'il une librairie externe ? le mingw de qt (qui n'est pas le même que le traditionnel) ? c'est bien de l'opengl et non du d3d ?

    Après je m'avance peut-être un peu mais il est possible qu'un des compilateurs est plus "intelligent" que l'autre (simplification de code etc). Peut-être la gestion des refresh/repaint doit être fait différemment.

    A tester

    Bonne chance

Discussions similaires

  1. [Windows] Compilateur : MSVC ou MinGW ?
    Par joffrey575 dans le forum Plateformes
    Réponses: 4
    Dernier message: 02/03/2015, 16h08
  2. Réponses: 0
    Dernier message: 12/12/2014, 15h26
  3. DevC++ avec un nouveau MinGW est disponible
    Par HRS dans le forum Dev-C++
    Réponses: 1
    Dernier message: 28/02/2005, 13h37
  4. [info ide] mingw developper studio
    Par heinquoi dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 29/07/2004, 17h02
  5. Bibliothèque Gcc/mingw 2.95.3.6
    Par richard dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 11/10/2003, 22h54

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