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

Plateformes Discussion :

Pourquoi pas de distribution MinGW64 ?


Sujet :

Plateformes

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2015
    Messages : 252
    Points : 268
    Points
    268
    Par défaut Pourquoi pas de distribution MinGW64 ?
    Bonjour,

    comme je suis en train de recompiler une Qt 5.6.2 en MinGw64, tout en pestant contre cette perte de temps, je me demandais pourquoi il y a des binaires MinGw32 sur le site de téléchargement et pas de MinGw64 alors qu'on y trouve des VS20xx à la pelle ?

    Pourquoi cet ostracisme ? Une stratégie économique ? Un problème technique ?

    Cordialement. AD.

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    octobre 2004
    Messages
    11 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : octobre 2004
    Messages : 11 265
    Points : 27 928
    Points
    27 928
    Par défaut
    Salut,


    Il faut déjà comprendre que l'on ne peut pas garantir que la dll d'une version quelconque de Qt compilée avec Gcc-4.8.x ne pourra être utilisée avec Gcc-4.9, Gcc-5 ou Gcc-6 et (encore moins) que la compatibilité descendante est encore moins bien garantie.

    Je fais volontairement l'impasse sur les versions plus anciennes encore de Gcc, car j'estime qu'elles sont vraiment trop obsolètes

    Mais il se fait que les options de compilation (non seulement de Qt, mais aussi de Gcc) peuvent également avoir une insidence sur la compatibiltié des dll utilisées avec une même version du compilateur (qui aurait "simplement" été compilé avec d'autres options)...

    Et c'est là que se pose le principal problème : le compilateur de Visual Studio a été compilé avec les mêmes options pour toutes les versions équivalentes, si bien que l'on peut garantir que les dlls compilées avec -- mettons -- VC++2010 fonctionneront sur toutes les machines utilisant VC++2010.

    Avec Gcc, il en va vraiment pas de même : même si on parle de MinGW (version 32 bits), on peut le trouver compilé avec différentes options. Alors, la version 64 bits, je ne te raconte pas! Entre le support (ou non) du multilib, les différentes versions des dépendances (je pense à GMP, MPFR et toutes les autres), etc... Le seul moyen de garantir que les dll seront effectivement utilisable avec une version (quelconque) de Gcc est... de fournir le compilateur en même temps que les dlls.

    Pendant tout un temps, j'ai personnellement créé certaines distributions pour MinGW-w64, généralement pour une version compilée "a mano" de la dernière version de Gcc, et je les rendais disponibles au téléchargement. Mais je te laisse imaginer le temps qu'il me falait pour, en plus de compiler Qt, arriver à compiler Gcc, les binutils et toutes leurs dépendances!

    Pour l'instant, je travaille essentiellement sous linux, et je n'ai une connection internet que... sporadique. Je ne produit donc plus ni le compilateur ni les "distributions" Qt

    Maintenant, l'une des dernières fois que j'ai créé ce genre de distribution, on en était encore à la version 4.XX (je ne sais plus.. 4.9 ) de Qt... Et Qt a changé de mains depuis. Je n'ai donc aucune idée de la politique suivie actuellement à ce sujet.

    Mais je peux imaginer sans trop risquer de me tromper que de nombreuses distributions sont créées par des "build servers" sur lesquels différents compilateurs sont installés.

    Peut-être l'absence d'une version pour MinGW-w64 est-elle, tout simplement, due à l'impossibilité de faire tourner un compilateur 64 bits sur ces machine Peut-être l'équipe qui se charge d'installer les compilateurs sur ces machine n'a-t-elle pas le temps ou l'envie de commencer à compiler Gcc et toutes ses dépendances en 64 bits Peut être y a-t-il une autre raison que j'ignore
    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 actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2015
    Messages : 252
    Points : 268
    Points
    268
    Par défaut
    Bonjour,

    Merci pour les explications. Pour résoudre ce problème de temps, j'utilise Msys2 et ses dépôts. Actuellement la version directement disponible est 5.6.2. MinGw 32 et 64 (dynamique ou statique). Par contre il est vrai qu'elle peut être incomplète pour certains besoins. Elle me convient. D'un autre côté je travaille également sous Linux et Mac OS et j'ai très peu de problème de portage alors qu'en utilisant VS, j'ai rencontré des codes -à priori portables- qui devaient être modifiés.

    En outre, je n'aime pas l'installation de VS, c'est le moins qu'on puisse dire. Et je compile sous Windows pour des appareils allant de XP à Windows 10 (en dynamique), rarement en statique... et avec MinGw je ne rencontre pas de problème particulier ni en XP, ni pour les versions suivantes. C'est plus compliqué avec VS pour compiler de manière compatible avec XP. Maintenant, il est vrai que je pourrais me contenter de MinGw32 mais puisqu'on peut compiler en 64 bits, je ne vois pas pourquoi je m'en abstiendrais.

    Encore merci pour ces explications. Bonne fin de journée. AD

Discussions similaires

  1. La binaire et pourquoi pas le ternaire
    Par Chromatic dans le forum Ordinateurs
    Réponses: 34
    Dernier message: 09/07/2012, 15h28
  2. Pourquoi pas WinDev 9 ?
    Par nyarla01 dans le forum WinDev
    Réponses: 35
    Dernier message: 25/07/2006, 19h41
  3. JTreeTable pourquoi pas en standard?
    Par Antoine_1977 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 03/01/2006, 22h33
  4. [Language][DAO]Pourquoi pas des Singletons ?
    Par le Daoud dans le forum Langage
    Réponses: 11
    Dernier message: 04/05/2005, 09h16

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