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

GTK+ avec C & C++ Discussion :

Exécuter un projet GTK sans passer par Code Blocks


Sujet :

GTK+ avec C & C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Exécuter un projet GTK sans passer par Code Blocks
    Bonjour,

    Voilà j'ai créé un projet GTK+, que je voudrais lancer maintenant directement à partir de l'exécutable, sans passer par Code Blocks.

    J'ai donc compilé mon projet en mode Release, copié le .exe obtenu dans le dossier principal du projet (qui contient entre autres un dossier "images" et un dossier "musiques" -qui sont utilisées avec FMOD-), et j'y ai copié toutes les DLL de GTK.

    Seulement quand je lance l'exe, mon programme se lance bien, les musiques aussi, mais aucune image n'est chargée, je me retrouve avec des croix à la place des images.
    Pourtant depuis Code Blocks, toutes les images se chargent correctement...

    Aurais-je oublié quelque chose ?

    Merci

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 303
    Points : 4 967
    Points
    4 967
    Billets dans le blog
    5
    Par défaut
    C'est un problème de chemin écrit dans ton code source.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'y ai pensé, mais pourtant les chemins sont bons...

    Par exemple, pour charger l'image "swap.png", située à la racine du dossier "images", dans le widget "swap", j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    swap = gtk_image_new_from_file("./images/swap.png");

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 303
    Points : 4 967
    Points
    4 967
    Billets dans le blog
    5
    Par défaut
    Tu utilises des "/". Mais sous Windows c'est plutôt des "\", non ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Effectivement, mais si je mets des "\", GTK ne reconnait pas le chemin et le programme se kille...

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 303
    Points : 4 967
    Points
    4 967
    Billets dans le blog
    5
    Par défaut
    Il existe quelques fonctions pour assurer la compatibilité des chemins selon l'environnement utilisé. Regarde par exemple la fonction g_build_filename();.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 27
    Points : 32
    Points
    32
    Par défaut Exécuter un projet GTK sans passer par Code Blocks: problème
    Bonsoir,
    J'ai également créé un projet GTK+ que je voudrais qu'il s'exécute sur un autre ordinateur sans avoir installer les bibliothèques.

    J'ai compilé mon projet, copié le .exe obtenu dans le dossier principal du projet, et j'y ai copié toutes les DLL de GTK.
    A chaque fois que je lance l'exe, une fenetre apparait "l'application n'a pas réussi à s'initialiser correctement(0xc0000005). Cliquez sur ok pour arreter l'application".
    (Je suis sous windows XP).

    Quelqu'un saurait-il comment faire pour résoudre ce problème?
    Merci de votre aide

  8. #8
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par Magister38 Voir le message
    Effectivement, mais si je mets des "\", GTK ne reconnait pas le chemin et le programme se kille...
    Les backslash sont interprétés : '\r', '\t', '\n' sont les codes pour les retours chariots et les tabulations... Si tu veux un caractère backslash dans une chaîne de caractère, il faut le doubler : '\\'.

    Autrement "C:\robert" serait interprété : le \r serait vu comme un retour chariot. C'est pour cela qu'il faut écrire "C:\\robert". Mais le mieux (et le plus portable) reste encore d'utiliser les fonctions de la GLib permettant de générer des chemins de fichiers.

  9. #9
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par manoulaisamm Voir le message
    Quelqu'un saurait-il comment faire pour résoudre ce problème?
    Merci de votre aide
    Bonsoir, c'est une mauvaise pratique d'utiliser le fil de discussion ouvert par quelqu'un d'autre pour son propre usage. Merci de poser ta question dans un nouveau fil de discussion.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/08/2008, 15h42
  2. exécuter le code sans passer par form
    Par beet2che dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/08/2008, 23h45
  3. Réponses: 2
    Dernier message: 29/06/2008, 20h16
  4. [SQL]Mise a jour sans passer par du code
    Par hackel dans le forum Access
    Réponses: 7
    Dernier message: 06/04/2007, 10h13
  5. Réponses: 3
    Dernier message: 27/01/2006, 16h48

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