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

Code::Blocks Discussion :

.exe avec librairie


Sujet :

Code::Blocks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 12
    Points : 10
    Points
    10
    Par défaut .exe avec librairie
    Bonjour,
    Quelle est l'option a cocher dans le compilateur, pour que celui ci compile en .exe mon programme + les librairies (.dll etc) dont le programme aura besoin pour s'exectuer ?

    En gros comment faire pour qu'un ordinateur n'ayant pas gtk puisse jouer a mon jeu sans l'installer ?


    Merci d'avance

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Salut,

    Si tu veux compiler ton programme et intégrer des librairies, faut que tes librairies soient en statique i.e. avec l'extension .a.
    Sinon si tu mets tes fichiers .dll avec ton exe ou tout près, normalement y'a pas de problèmes.

    ------------EDIT------

    Je connais pas du tout GTK non plus (cf message du dessous), et surtout je ne savais pas que c'était différent................ mais ca peux être une piste.

  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Attention, les .a c'est sous linux. Or, étant donné qu'il parle de dll et de .exe, je suppose qu'il est sous Windows. Les libs statiques ne sont donc pas des .a, mais des .lib.

    Et effectivement, pour éviter de se "trimbaler" toutes les dll, le seul moyen est de linker en statique, donc d'utiliser les .lib.

    Mais en fait, je crois que ce n'est pas aussi simple que cela avec GTK, qui est plus qu'une simple lib. C'est pour cette raison que je me suis abstenu de répondre: avec GTK, je crois que c'est plus compliqué, mais je ne suis pas sûr, et je ne sais pas comment on fait.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par r0d Voir le message
    Attention, les .a c'est sous linux. Or, étant donné qu'il parle de dll et de .exe, je suppose qu'il est sous Windows. Les libs statiques ne sont donc pas des .a, mais des .lib.

    Try Again

    En réalité, l'extension des bibliothèques dépend essentiellement du compilateur que tu utilises avec C::B.

    Ainsi, si tu utilise un compilateur basé sur Gcc, (MinGW par exemple), les bibliothèques statiques auront bel et bien l'extension .a
    Citation Envoyé par r0d Voir le message
    Et effectivement, pour éviter de se "trimbaler" toutes les dll, le seul moyen est de linker en statique, donc d'utiliser les .lib.
    ... ou .a (selon le compilateur toujours
    Mais en fait, je crois que ce n'est pas aussi simple que cela avec GTK, qui est plus qu'une simple lib. C'est pour cette raison que je me suis abstenu de répondre: avec GTK, je crois que c'est plus compliqué, mais je ne suis pas sûr, et je ne sais pas comment on fait.
    A vrai dire, GTK est une bibliothèque de bibliothèques...

    On y trouve tout ce qu'il faut (ou presque) pour créer un environnement fenêtré nommé gnome, c'est tout dire

    Mais, sauf erreur, si dés le départ tu as GTK installé, et que tu demande expressément la création d'un projet... GTK, la compilation ne devrait a priori poser aucun problème.

    Pour ce qu'il en est de la livraison de l'exécutable, il vaut mieux vérifier, mais il me semble que c'est effectivement basé sur quelques bibliothèques dynamiques
    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

Discussions similaires

  1. [NetBeans] Création de l'éxé avec Netbeans 3.6
    Par daweed dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/04/2010, 12h37
  2. Problème avec librairie iostream.h
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 22/07/2005, 13h20
  3. Architecture multi couches avec librairie borland?
    Par seb_asm dans le forum JBuilder
    Réponses: 4
    Dernier message: 08/06/2005, 10h14
  4. Fichier exe avec Dev-C++
    Par hartecel dans le forum Dev-C++
    Réponses: 4
    Dernier message: 18/03/2005, 15h51
  5. [Flash MX2004] Lancer un *.exe avec fscommand
    Par pioup dans le forum Flash
    Réponses: 7
    Dernier message: 30/07/2004, 16h28

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