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 :

Qt 5 transport des ex�cutable


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2014
    Messages : 20
    Par d�faut Qt 5 transport des ex�cutable
    Bonjour � tous, je suis nouveau sur Qt 5 et je suis sur Mac os, et j'ai un petit souci avec la compilation. Pour faire simple quand je cr�e un nouveau projet je le compile et je peux l'ex�cuter sur ma machine jusqu'� la tous va bien, mais quand je passe le programme sur un autre pc la impossible de l'ex�cuter, sous windows il faut les dll mais sous Mac os comment �a se passe ? Merci beaucoup pour votre r�ponse

  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,

    La premi�re chose que tu dois comprendre, c'est que, a priori, une application compil�e pour fonctionner sous mac ne fonctionnera pas sous windows ou sous linux, et inversement.

    Si tu veux que ton application fonctionne �galement sous windows, par exemple, tu devra la compiler de mani�re sp�cifique pour qu'elle puisse le faire.

    Il est possible de compiler une application sous un syst�me (par exemple sous mac) pour qu'elle puisse �tre utilis�e sous windows. Cela s'appelle une compilation crois�e (cross compilation). Evidemment, le r�sultat que l'on obtient � ce moment l� fonctionne sous... windows, mais pas sous mac.

    Il n'est pas tr�s difficile de faire une compilation crois�e, car il suffit g�n�ralement d'indiquer explicitement que l'on veut utiliser le compilateur qui cr�era une application pour tel ou pour tel syst�me. Mais l'installation des diff�rents outils et leur configuration est une �tape lourde et fastidieuse, qui ne demande qu'� �chouer si on ne fait pas les choses dans le bon ordre.

    C'est la raison pour laquelle on essaye souvent de disposer de tous les syst�mes d'exploitation pour lesquels on souhaite cr�er notre application, soit sous la forme d'un "multi boot" (il faut � chaque fois red�marrer l'ordinateur sur le syst�me sur lequel on souhaite travailler), soit sous la forme d'une machine virtuelle.

    De cette mani�re, on peut compiler notre application pour qu'elle fonctionne sous mac en �tant sous mac et on peut la compiler (voir la tester) sous windows en �tant sous windows.

    Ensuite, le deuxi�me probl�me auquel on est confront� est l'installation proprement dite: quand on d�veloppe une application, nous sommes dans un "environnement contr�l�" dans le sens o� nous avons pris la peine d'installer "tout ce qui peut �tre n�cessaire" � notre travail.

    Mais, quand on souhaite utiliser cette application sur un autre ordinateur, on ne peut absolument pas avoir la certitude qu'il contient exactement ce dont nous disposons sur le notre; ni si les "�l�ments communs" (ceux qui se trouvent sur les deux ordinateurs) se trouvent � la m�me place.

    On ne peut donc pas se contenter de copier l'application que l'on a cr��e � l'endroit o� on souhaite la placer, et esp�rer qu'elle pourra retrouver "tout ce dont elle a besoin": il faut, litt�ralement, la faire arriver sur place avec "armes et bagages".

    Le plus facile est alors de cr�er un "installateur" qui se chargera de copier non seulement l'application � l'endroit o� elle doit aller, mais aussi tout ce dont elle a besoin � l'endroit "o� elle s'attend � le trouver". Il s'agit, le plus souvent, d'une archive auto-extractible un peut am�lior�e.

    il est "assez facile" de faire installer ce qu'il faut pour qu'une application fonctionne sous Qt sous linux ou sous mac: g�n�ralement, il "suffit" d'indiquer les d�pendances de l'application dans le paquetage que l'on cr�e pour que, lorsque "quelqu'un" voudra l'installer, le gestionnaire de paquets fasse son job et les rajoute automatiquement.

    Les choses sont "un peu plus compliqu�es" sous windows, parce qu'il n'y a pas de gestionnaire de paquet. Tu dois donc veiller par toi-m�me � rajouter effectivement toutes les dll dont ton application a besoin pour fonctionner.

    Par chance, il existe sous windows un outil nomm� qtdeploy que tu peux utiliser et qui te permettra de trouver les dll propres � Qt dont ton application a besoin. Il te suffira donc de cr�er une archive avec toutes ces dll et l'application elle m�me, de la copier sur le syst�me sur lequel tu souhaites installer ton application, et d'en extraire le contenu pour pouvoir utiliser ton application.

    Au final: si tu veux utiliser ton application sur un syst�me donn�, tu dois
    1. compiler ton application de mani�re sp�cifique pour ce syst�me
    2. t'assurer que les biblioth�que dynamiques (shared libraries sous linux/mac; dll sous windows) dont tu as besoin sont pr�sentes
    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 averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2014
    Messages : 20
    Par d�faut
    Bonjour, et merci pour ta r�ponse actuellement je ne d�veloppe que sous Mac os et pour Mac os donc linux et windows je m'en fiche un peu, je pense que lorsque je copie mon programme mes librairie ne suivent pas et le probl�me doit venir de la, ma question et comment je peux copier les librairies avec mon programme pour qu'il tourne sous tous les Mac os ? Merci beaucoup

  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
    Excuses moi, telle qu'elle �tait exprim�e, j'ai cru que tu demandais comment transf�rer ton application Mac sous windows. D'o� les explications donn�es

    Pour r�soudre ton probl�me: cr��e un paquet d'installation de ton application. Ce sera beaucoup plus facile � mon sens.

    Car, si je ne m'abuse (vu que je n'ai pas de Mac, je suis pas le mieux plac� pour savoir ) , Mac Os utilise un syst�me de gestion des paquets � peu pr�s comme n'importe quelle distribution de linux digne de ce nom, non

    Si tu d�finis correctement les d�pendances de ton projet (et que je ne me trompe pas sur Mac Os ), le script d'installation se chargera tout seul de v�rifier si elles sont pr�sentes sur la machine cible ou non, et se chargera de les t�l�charger en cas de besoin

    Tu devrais pouvoir t'aider d'outils comme CMake (que tu utilises peut-�tre d�j� d'ailleurs) pour g�n�rer l'installateur de mani�re automatique.
    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 averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2014
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activit� : Chef de projet en SSII
    Secteur : B�timent

    Informations forums :
    Inscription : Avril 2014
    Messages : 20
    Par d�faut
    Bonjour, et merci encore pour votre aide. Effectivement je pense que cr�e un paquet serai l� bonne solution, mais �tant tous nouveau sur Qt comment je peux cr�er se paquet et rassembler les librairies ? � tu un tuto ? Merci beaucoup

Discussions similaires

  1. [Lazarus] Diminuer la taille des ex�cutables
    Par Clandestino dans le forum Lazarus
    R�ponses: 7
    Dernier message: 16/07/2009, 15h29
  2. [JMS] Transporter des fichiers xml sur jms
    Par snetechen dans le forum Java EE
    R�ponses: 5
    Dernier message: 16/06/2006, 11h47
  3. [PowerBuilder 10] Autonomie des ex�cutables
    Par digital prophecy dans le forum Powerbuilder
    R�ponses: 4
    Dernier message: 11/06/2006, 23h59
  4. Pur d�butant en C/C++ : Taille des ex�cutables ?
    Par ChrisPM dans le forum Autres �diteurs
    R�ponses: 3
    Dernier message: 20/10/2005, 18h39
  5. format PE des ex�cutables Windows
    Par GMI3 dans le forum Windows
    R�ponses: 3
    Dernier message: 12/12/2003, 02h51

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