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

wxWidgets Discussion :

Faire un programme autonome


Sujet :

wxWidgets

  1. #1
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut Faire un programme autonome
    Bonjour,

    J'aimerais compiler un prog wxWidgets pour Linux (Mandriva), mais je n'ai pas les droits root dessus et les librairies wxWidgets ne sont pas installées.

    D'habitude, je compile mes progs sur ma machine (openSuse) avec un "./configure --prefix=/home/moi/monprogramme" avant de l'installer dans mon dossier "home" de Mandriva, mais là ça ne marche pas puisque les librairies sont absentes.

    Je voulais donc savoir si c'est possible de faire une sorte de librairie statique (depuis openSuse), de telle sorte que mon prog puisse fonctionner même sur un PC où wxWidgets n'est pas présent.

    Merci d'avance pour vos réponses

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Oui tout à fait, soit il faut fournir les librairies dynamique avec le soft, soit compiler le soft avec wxWidgets en statique : tout ce qu'à besoin le soft sera directement intégrer.
    Néanmoins, la taille du logiciel augmente et de plus je ne suis pas sur que les librairies compilées sous OpenSuze soient compatibles avec une autre distribution...

  3. #3
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Merci pour ta réponse.

    En faisant un "./configure --help" pour mon prog, j'ai vu qu'il y avait une option "--enable-static-wx", mais en l'activant la compilation ne marche plus ; ça semble normal, car quand je fais un "wx-config", il ne me liste que des librairies dynamiques (partagées).

    Du coup je me suis dit qu'il fallait pt-être recompiler wxWidgets en activant les librairies statiques, mais j'ai rien trouvé dans le "configure" qui permette de faire ça, sauf à carrément désactiver les librairies partagées ("--disable-shared"). Les trucs du genre "--enable-static" ne font rien du tout (pas reconnu).

    C'est possible de compiler wxWidgets avec à la fois les librairies partagées et les statiques ?

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par monnomamoi Voir le message
    Merci pour ta réponse.
    En faisant un "./configure --help" pour mon prog, j'ai vu qu'il y avait une option "--enable-static-wx",
    C'est effectivement cela

    Citation Envoyé par monnomamoi Voir le message
    mais en l'activant la compilation ne marche plus ;
    Là cela m'échappe. Je n'utilise pas configure, mais pour avoir mis le nez dedans, cela devrait marcher

    Citation Envoyé par monnomamoi Voir le message
    ça semble normal, car quand je fais un "wx-config", il ne me liste que des librairies dynamiques (partagées).
    Par défaut, les options de compilation wx sont pour le dynamique, donc si tu ne mets pas d'options, il compile en dynamique


    Citation Envoyé par monnomamoi Voir le message
    C'est possible de compiler wxWidgets avec à la fois les librairies partagées et les statiques ?
    Oui et non, il faut compiler 1 fois en statique, puis une fois en dynamique, et veiller à ne pas "écraser" les répertoires d'une version à l'autre.

    Quelle est ta version de wx?

  5. #5
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    mais en l'activant la compilation ne marche plus ;
    En fait, pendant l'exécution du "configure", il y a un test pour voir si la compilation d'un prog wxWidgets est possible. Concrètement, c'est juste un petit fichier *.cpp qu'il essaie de compiler en *.o . Ça marche parfaitement avec les librairies partagées, mais ça plante quand je met l'option "--disable-shared". D'après le log, gcc dit qu'il ne trouve pas de référence à wxString() ou un truc du genre...



    Oui et non, il faut compiler 1 fois en statique, puis une fois en dynamique, et veiller à ne pas "écraser" les répertoires d'une version à l'autre.
    Quelle est ta version de wx?
    Bon ben je vais essayer de compiler deux fois...

    J'ai wxGTK-2.8.4.0-53 (version par défaut d'Opensuse)

  6. #6
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    C'est bon, ça marche !

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire un programme sans interface
    Par timsah dans le forum C++Builder
    Réponses: 8
    Dernier message: 01/02/2006, 10h16
  2. Réponses: 7
    Dernier message: 16/04/2005, 08h55
  3. Réponses: 4
    Dernier message: 15/04/2005, 12h19
  4. Programme autonome pour mac os X
    Par metos256 dans le forum Général Python
    Réponses: 3
    Dernier message: 21/10/2004, 14h43
  5. Faire un programme résident
    Par Bubonik software dans le forum C
    Réponses: 21
    Dernier message: 05/09/2004, 10h28

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