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 :

Programme utilisant à la fois BGI et GTK


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Programme utilisant à la fois BGI et GTK
    Bonjour à tous et à toutes !


    Je dois actuellement bosser en groupe sur un projet imposé en école d'ingénieur. Il s'agit de créer un logiciel de toutes pièces pour utiliser la méthode de Monte Carlo (elle vise à approximer des aires, approximer le nombre "pi", donner la surface représentée sur une couleur dans une image, etc ...).

    Mon groupe de travail est divisé en deux parties : une partie s'occupant de la partie calculatoire et une partie (moi) s'occupant de la partie graphique.

    Alors que la partie calculatoire a été réalisée par l'intermédiaire de la bibliothèque BGI (cette dernière nous a été suggérée pour ne pas dire imposée), l'interface graphique a elle été conçue avec GTK+ 2.10 (j'ai décidé de quitter BGI car je ne pouvais réaliser une interface comme je l'entendais ; j'ai été trimbalé par l'équipe encadrante entre BGI, GTK, SDL, l'API Windows pour finalement revenir à GTK).

    Les personnes que j'ai interrogé m'ont dit qu'il était tout à fait possible d'avoir un programme calculant grâce à BGI et formé selon une autre bibliothèque graphique, le seul point à respecter étant de bien séparer le programme. C'est ce que mon équipe et moi avons fait.
    L'école préconisant d'utiliser BGI de A à Z, je n'ai donc eu aucune aide pour développer sous GTK, j'ai donc utiliser les tutoriels disponibles sur le site !


    Maintenant que les deux parties sont finies ou quasi-finies, il se pose un problème de taille ... Comment les faire travailler conjointement ?

    J'ai déjà essayé d'ajouter à l'interface graphique les parties calculatoires, mais c'est chose impossible et vice-versa.
    Je m'explique :
    - En ayant codé avec GTK, lorsque j'ajoute des fonctions utilisant BGI (donc en ajoutant un #include <graphics.h>), le compilateur (DevCPP) me retourne qu'il ne trouve pas graphics.h et qu'il n'existe pas dans le répertoire ...
    - Si j'ajoute la partie graphique à la partie calculatoire qui utilise BGI, le compilateur me dit que cette fois il ne trouve pas gtk/gtk.h alors que j'ai bien spécifié #include <gtk/gtk.h>


    J'ai également essayé de faire un header pour chaque fonction de ma partie graphique et d'ajouter ceux-ci à un main.c mais sans succès ... La partie sous GTK ne se lance pas : si je n'avais pas mis de , impossible de savoir si l'ébauche de programme tournait convenablement ...


    J'ai lu aussi qu'il fallait peut-être recompiler BGI ... Mais je n'ai aucune idée de ce que je devrais faire ...


    Devoir tout faire avec la même bibliothèque ne m'enchante gère car cela signifierait que le travail fait en 5 mois sous BGI devra être refait avec GTK en un mois et demi ... Et je ne connais pas les équivalent de fonctions entre les deux bibliothèques.
    Et de même, devoir faire une interface avec BGI, beuuurk


    Si quelqu'un a une solution, n'importe laquelle, je suis preneur car je suis au bord du pétage de câble !


    Merci d'avance d'avoir pris le temps de me lire

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    salut !

    tu parles de graphique avec gtk et de calcul avec BGI. je ne comprends pas. je ne vois pas la moindre fonction de calcul dans BGI.

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Hey ! Merci tout d'abord d'avoir lu mon petit roman ^^ !

    Ce que j'appelle fonction de calcul, à tort, dans BGI, ce sont les fonctions recuperant par exemple la taille de l'image contenue dans une fenêtre, les coordonnés et la couleur de l'endroit où l'utilisateur à cliqué, celles également permettant de faire des simulations d'impact à l'écran (en relation avec la méthode de Monte-Carlo), etc ...

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Fidiman Voir le message
    J'ai déjà essayé d'ajouter à l'interface graphique les parties calculatoires, mais c'est chose impossible et vice-versa.
    Je m'explique :
    - En ayant codé avec GTK, lorsque j'ajoute des fonctions utilisant BGI (donc en ajoutant un #include <graphics.h>), le compilateur (DevCPP) me retourne qu'il ne trouve pas graphics.h et qu'il n'existe pas dans le répertoire ...
    Tout simplement parce qu'en ayant mis des "<" et ">" cela dit au pré-compliateur d'aller chercherr dans les répertoires "implictes" définis (ou non) dans la ligne de compilation.

    Il faut donc ajouter dans la ligne de compilation le drapeau indiquant le répertoire où se situent les fichiers..

    Cela donne :

    -I chemin

    pour la compilation

    et

    -L chemin pour le link

    "chemin" étant le répertoire où se situent les fichiers soit .h soit .a ou .so de BGI


    NOTE: si tu avais mis des guillemets , comme par exemple

    #include "chemin/BGI.h"

    cela aurait été chercher dans le répertoire spécifié. Mais c'est moins souple, puisque si tu changes l'endroit où sont les fichiers il faurait aller modifier les .c
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Il faut que j'ajoute -I chemin dans les option du compilateur sous DevCpp ?

    Où dois-je ajouter -L chemin ?

    Le chemin doit être du type C:/Program Files/Pack GTK+/dossier correspondant ?

    J'ai oublié de préciser que j'étais sous Seven 64bits (bien que ça ne change pas grand chose ).


    Merci d'avance

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Fidiman Voir le message
    Il faut que j'ajoute -I chemin dans les option du compilateur sous DevCpp ?
    oui


    Citation Envoyé par Fidiman Voir le message
    Où dois-je ajouter -L chemin ?
    pareil
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Après avoir ajouté dans les options du compilateur de DevCpp
    -I D:\Dev-Cpp\include\
    pour la commande de l'appel au compilateur et
    -L D:\Dev-Cpp\include\
    pour la commande lors de l'appel de l'éditeur de liens, DevCpp me dir maintenant 2
    D:\xxx\Informatique\Test\main.c gtk/gtk.h: No such file or directory.
    Dois-je faire la même chose ?


    Merci d'avance


    Petite précision : le pack GTK+ et DevCpp sont installés chacun sur un lecteur différent, cela change-t-il quelque chose ?

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Fidiman Voir le message
    Dois-je faire la même chose ?
    oui

    Précision : ce que j'ai appelé "link" ci-dessus c'est ce qu'ne français tu appelles éditeur de liens..

    Donc, ce qu'il faut mettre est le -I .. pour la compilation et le -L .. pour l'éditeur de liens.

    Et oui, il faut le mettre pour les 2 biblothèques utilisées...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Okay, mais par quoi dois-je séparer les deux chemins pour GTK et graphics.h ? Un point virgule ? Je dois remettre le -I ou -L à chaque fois ?


    Merci d'avance, je sens que mon soucis va se résoudre

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Fidiman Voir le message
    Je dois remettre le -I ou -L à chaque fois ?
    oui..

    Normalement séparé par un espace..

    (à vérifeir si c'est la même syntaxte sur Dev.., mais je pense)
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'ai toujours le même soucis malheureusement
    3 D:\xxx\Informatique\Test\main.c In file included from main.c
    /Dev-Cpp/include/graphics.h D:\xxx\Informatique\Test\D sstream: No such file or directory.
    Il me dit ensuite qu'il y a des erreurs de syntaxe dans grahpics.h et me revoit dessus lorsque je double clique sur l'erreur :/


    Malgré l'ajout
    -I D:\Dev-Cpp\include\ -I C:\Program Files\Pack GTK+\include\gtk+\gtk
    et
    -L D:\Dev-Cpp\include\ -L C:\Program Files\Pack GTK+\include\gtk+\gtk

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    euh...

    Pour l'édition de lien, ce ne sont pas les mêmes répertoires...

    Ce sont les répertoires qui contiennent les bibliothèques compilées, soit .a, .so, ou DLL

    Quant à

    D sstream: No such file or directory.
    tu as dû faire une faute quelque part, ou alors il faut un autre répertoire..

    Tu peux pas regarder quels sont les options mises par la partie qui a fait la section calculs ???
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Les erreurs renvoyées sont toujours les mêmes


    Les options sont les même dans les deux projets .


    Les programmes tournent comme il faut séparément, donc je pense que c'est lorsque j'ajoute #include <graphics.h> à l'interface graphique traitée sous GTK que le compilateur me renvoit l'erreur précédemment citée.

  14. #14
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    je ne sais rien de Dev-Cpp mais ...

    BGI travaille pour des applications type console. pour GTK+ ce n'est peut-être pas le cas. les applications GUI me posent toujours des problèmes ...

    je vais essayer GTK (mais pas Dev-Cpp).

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

  15. #15
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2012
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 190
    Points : 380
    Points
    380
    Par défaut
    contrairement à mes attentes, GTK ne m'a posé aucun problème (code::block et mingw) mais BGI (en fait winbgim) m'en pose plus. dans mes souvenirs de turbo Pascal 5.5 il n'y avait pas la moindre trace de C++ dans le code, et là je passe un peu de temps à démonter la structure des deux classes pen_cache et font_cache pour en faire quelque chose d'utilisable en C.

    est-ce que vous utilisez bien cette version de BGI ? sinon laquelle ?

    A+
    Don't want money. Got money. Want admiration.
    (A tribute to SSG)

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/05/2006, 14h08
  2. Quel programme utilise mon Disque dur
    Par fredoh dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 06/05/2006, 12h08
  3. example de programme utilisant stack
    Par smalto dans le forum C++
    Réponses: 2
    Dernier message: 05/04/2006, 16h10
  4. Réponses: 20
    Dernier message: 28/01/2006, 11h27
  5. Réponses: 6
    Dernier message: 20/10/2005, 08h59

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