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

Langage C++ Discussion :

Creer un .exe independant de Code Blocks


Sujet :

Langage C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Creer un .exe independant de Code Blocks
    Bonjour,
    J'ai realisé un jeu sous codeblocks mais l'executable ne fonctionne pas sans passer par l'IDE. Mais pourtant pour un programme simple comme un " hello World " ca marche correctement.

    J'utilise Open GL et voici le repertoire de mon executable:
    http://img716.imageshack.us/img716/8563/capturevyo.jpg

    mes link :
    http://img90.imageshack.us/img90/6885/capture2bu.jpg

    Merci Beaucoup !

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

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut,

    De manière générale, pour utiliser une dll, il faut:
    • Soit que la dll en question se trouve dans le même dossier que celui de l'application (ou est-ce dans le dossier d'exécution de l'application je suis pris d'un doute)
    • Soit que la dll en question se trouve dans un dossier accessible depuis la variable PATH, qui est la variable qui indique les différents chemins à utiliser pour trouver les exécutables

    Le plus facile est sans doute de copier les dll requises dans le même répertoire que celui dans lequel se trouve l'application, mais le plus stable est de faire en sorte que le dossier dans lequel se trouve la dll apparaisse dans la variable PATH.


    L'énorme avantage, c'est qu'il n'y a plus qu'une seule version de la dll et que toute mise à jour de cette dernière sera automatiquement répercutée sur toute application qui l'utilise

    Pour cela, il existe trois solutions:
    1- modifier temporairement la variable PATH dans une "invite de commandes" (menu démarrer ->tous les programmes-> accessoires -> invites de commandes) avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set PATH=%PATH%;c:\chemin\vers\le\dossier\ad-hoc
    avant de lancer l'application

    2- Créer un fichier batch qui aura le même résultat (très utile si tu n'as pas accès au panneau de configuration )

    3- modifier directement la variable PATH dans le panneau de configuration -> système et sécurité -> système ->modifier les paramètres -> onglet "paramètres système avancés" -> variables d'environnement (chemin donné sous windows 7, susceptible d'être légèrement différent )

    Cette troisième possibilité a pour résultat de modifier définitivement la variable PATH, et donc de faire en sorte que toute application qui aurait besoin d'une (ou plusieurs) dll se trouvant dans le dossier indiqué pourra y accéder sans problème.

    L'inconvénient, c'est qu'il faut souvent les droits d'administrateur sur la machine pour pouvoir effectuer ce genre de changement, et que cela dépend énormément de la "politique de la maison" en la matière
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Salut ! merci pour ton aide.

    J'ai essayer les options 1( set PATH=%PATH%;C:\Users\Proprietaire\Desktop\OPENGL_3D\bin\Debug\ )
    et 3 mais sans succes. Vu que je compte en faire un .exe distribuable ca me bloque enormement

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    Quelle est l'erreur exactement ?

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    tu as surement mal placé les fichiers et configuré l'EXECUTION_PATH de ton IDE.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Le truc c'est que je n'ai absolument aucune erreur. Quand je lance l'executable le curseur load quelque ms puis plus rien.
    Par contre quand je build et run sur codeblocks tout march nikel !

  7. #7
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    bonjour, Pourquoi tant de .dll dans ton fichier ? Essayes de créer un dossier où tu y copies simplement ton programme ainsi que ton .dll. Sinon est-ce normal que le .exe de son programme n’apparaisse pas dans le nom? (Peut être normal...)

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Cloyz Voir le message
    Le truc c'est que je n'ai absolument aucune erreur. Quand je lance l'executable le curseur load quelque ms puis plus rien.
    Par contre quand je build et run sur codeblocks tout march nikel !
    Le truc c'est que toutes les possibilités de réponse ont déjà été faites.
    Et que ça indique que ton EXECUTION_PATH est mal réglé, ou que tes ressources sont mal situées.

    Sinon est-ce normal que le .exe de son programme n’apparaisse pas dans le nom?
    Rien n'oblige à afficher les extensions. Sous Windows en particulier, les extensions connues sont cachées par défaut.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Le truc c'est que toutes les possibilités de réponse ont déjà été faites.
    Et que ça indique que ton EXECUTION_PATH est mal réglé, ou que tes ressources sont mal situées.


    Rien n'oblige à afficher les extensions. Sous Windows en particulier, les extensions connues sont cachées par défaut.

    Merci. J'ai changé tout ce qu'il fallait changer pour l'EXECUTION_PATH mais ce ne regle rien. J'ai egalement essayer de changer le dossier des dll
    mais rien

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    En debuggant jai trouver ceci :

    /***** Code ****/

    SDL_Surface * image = IMG_Load(image_file);

    if ( !image) exit(0);

    .....
    .....


    /***** Code ****/

    A priori dans codeblocks l'image est chargée comme il le faut mais l'executable seul ne trouve pas l'image....

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    J'avais pas accès à imageshask au boulot... et je ne vois aucune image dans le dossier de l'exécutable.
    Donc, je rerépète:
    Citation Envoyé par Bousk Voir le message
    tu as surement mal placé les fichiers et configuré l'EXECUTION_PATH de ton IDE.
    Alors, en pièce jointe, tu trouveras ce qui s'apelle l'EXECUTION_PATH !
    Les images se placent dans le dossier d'exécution, et pour les charger il faut utiliser une URI (url relative).
    Images attachées Images attachées  
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Le probleme etait effectivement du au fait que je n'utilisais pas les chemins relatifs pour mes variables genre "data/audio/musique.wav" au lieu de "C:/Users/Proprietaire/Desktop/OPENGL_3D/data/audio/musique.wav" par exemple.

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

Discussions similaires

  1. creer un .exe independent
    Par gayaquincy dans le forum Visual C++
    Réponses: 9
    Dernier message: 26/06/2009, 10h26
  2. Lancer un .exe à partir de code blocks
    Par bigkaktus dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 14/06/2008, 00h24
  3. créer un .exe avec code::blocks
    Par acacia dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 17/02/2008, 18h55
  4. Comment créer un exe à partir des codes source
    Par daniel50171 dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 20/08/2007, 19h49
  5. Comment creer un seul .exe independent
    Par mcdonald dans le forum Déploiement/Installation
    Réponses: 11
    Dernier message: 12/12/2005, 17h16

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