Comment installer Qt sous linux ?

Et faire de la cross compil

a marqué ce sujet comme résolu.

Salut,
J'aimerai installer Qt 5.5.1 sous linux. J'ai récupéré le .run mais, est ce que les programmes compilés seront pour tous les linux ou uniquement les linux de mon architecture ? (64b)
Aussi, est-ce mes applications, compilées depuis linux mint seront disponibles pour d'autres distributions ? (ubuntu, debian, fedora, openSUSE…)
Merci de votre aide.

Pourquoi tu n'utilise pas apt-get pour install Qt ?

Sinon il ne me semble pas qu'un programme compilé sur une architecture 64b fontionne sur une arch 32b (par contre l'inverse fonctionne).

Et pour ta dernière question, normalement peut importe avec quelle distrib tu compile sa fonctionne sur toute mais pour etre sur il faudrait passer Qt avec l'executable vu que la version peut changer selon la distribution

+0 -0

Je n'ai pas trouvé Qt5 sur mint package (ce qui est assez étonnant, d'ailleurs). Donc pas possible de faire apt-get.

Je confirme qu'un programme compilé sous linux 64 bits marchera pour toutes les distributions linux 64 bits, et qu'un programme compilé pour linux 32 bits marchera sous tout linux (sous condition). Tu peux compiler pour un système 32 bits sous un système 64 bits (cross compilation), mais il faut pour cela Qt5 en version 32 bits.

Tu peux compiler soit en dynamique, soit en statique.

  • Dans le 1er cas, l’exécutable va aller chercher les bibliothèque du système. Si elle ne sont pas présentes, le programme ne se lance pas. Si c'est un programme 32 bits, il aura besoin des bibliothèques en version 32 bits, donc c'est chiant pour l'utilisateur.
  • Dans le 2sd cas, l'exécutable embarque avec lui les bibliothèques. Il marche même si les bibliothèques ne sont pas présentes sur le système, y compris en 32 bits. Mais l'exécutable est plus lourd. Si tu veux distribuer ton programme, c'est le plus simple. Mais ça restera loin d'un Giga, seul ce qui est nécessaire est ajouté (donc pas la doc, pas les module non importé, pas QtCreator…).

Cela se choisi via une option à la compilation. Comme LudoBike, je recommande la compilation statique.

+1 -1

Nope, je connais ça, et pour la compilation statique, il faut distribuer le code des applications.
Je veux compiler en 32 bits (je vais choisir la version x86) et en dynamique.
Pour les libs, je vais juste donner un .tar.gz avec l'exécutable, ressources, libs.

+0 -0

Dans le 1er cas, l’exécutable va aller chercher les bibliothèque du système. Si elle ne sont pas présentes, le programme ne se lance pas. Si c'est un programme 32 bits, il aura besoin des bibliothèques en version 32 bits, donc c'est chiant pour l'utilisateur. Source:Gabbro

Qu'y a-t-il au juste de chiant pour l'utilisateur ? Ce que je trouverais chiant, ce serait d'avoir plein de programmes compilés statiquement embarquant tous une même bibliothèque, alors qu'ils pourraient utiliser la bibliothèque partagée.

Ce qui nécessite d'être admin pour l'installation (j'ai Qt 64 bits sur le PC de mon boulot, pas 32 bits, et je ne suis pas admin, suivant le contexte, ça peut être lourd à gérer). Avec certaines bibliothèques, il y a des incompatibilité entre versions mineurs (ou tout simplement des bugs). En distribuant un programme statique, on sait qu'il va se lancer sans autre intervention de l'utilisateur, avec un dynamique, ça peut nécessiter des actions supplémentaires. Le dynamique est potentiellement moins simple (notamment en 32 bits sur un système 64, car très peu de bibliothèque 32 bits seront installées).

Je parle bien évidemment d'un programme annexe. Le gros avantage d'un gestionnaire de paquet, c'est qu'on a les avantages du dynamique sans les inconvénients, car les programmes sont vérifiés et que les dépendances permettent une installation qui marche en une commande de l'utilisateur.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte