developvbdebut
Messages postés476Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 2 juin 2012
-
30 août 2006 à 23:35
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
31 août 2006 à 23:12
Bonjour tout le monde
Apres avoir passé de moi à étudié la language c en mode console, je souhaiterais m'initier au interface graphique en c.
Je souhaiterai réaliser un petit lecteur multimedia.
Je sais qu'il existe sdl et gtk comme librairie.
sdl s'occupe de tout se qui est multimedia et gtk les fenêtre.
Ma question est, peut on utiliser ces deux librairie pour un même projet.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 31 août 2006 à 03:28
Oui, tu peux utiliser les 2. Mais lier un projet à 2 librairies
différentes n'est pas une très bonne idée. Si tu est sous Windows, je
te conseillerais vivement d'apprendre à utiliser l'API Win32 plutot
qu'une librairie pour les fenêtre et la lecture de fichier musicaux.
Utiliser directement l'API Win32 est toujours plus rapide et surtout,
plus portable.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 août 2006 à 09:06
Pfiou c'est la mrd d'installer gtk sous devcpp. Il vaut mieux installer
le devpack. Mais apres va falloir ajouter pas mal de chemin d'accès
dans les options du compilo pour qu'il trouve tout ce dont il a besoin.
Dans tous les cas, une fois que tu arrives a compiler. Il faut rajouter
l'option: -mms-bitfields dans options compilateur C++ à coté de
l'éditeur de lien.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 août 2006 à 10:06
Bas ca c'est a toi de voir ske le compilo demandra. Il te dira qu'il
trouve pas tel fichier, etc... tu cherches ou est le fichier, et tu
ajoutes son chemin d'accès dans la liste des répertoires d'accès aux
headers .h.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 31 août 2006 à 14:05
yoyo>>L'API Win32 est plus portable sur les ordinateurs. C'est plus portable que d'avoir à trainer chaque fois une librairie pour les graphiques et une autre pour le son car tu n'as pas à les trainer justement en utilisant l'API. C'est comme ça que je définie portable ici.
developvbdebut
Messages postés476Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 2 juin 20121 31 août 2006 à 19:54
Re
Je récapitul, j'ai installé dev-pack-gtk, apres l'installation, j'ai créer un projet gtk, lors de la compil il à indiqué ces erreurs.
Voici ce qu'il demande, lors de la compile
\Documents and Settings\vincent d\Bureau\test graph\main.c C:\Documents and Settings\vincent d\Bureau\test graph\C gtk/gtk.h: No such file or directory.
C:\Documents and Settings\vincent d\Bureau\test graph\main.c syntax error before '*' token
C:\Documents and Settings\vincent d\Bureau\test graph\main.c In function `helloWorld':
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GtkWidget' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `dialog' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `win' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_DIALOG_MODAL' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_MESSAGE_INFO' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_BUTTONS_CLOSE' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_WIN_POS_CENTER' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c In function `main':
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GtkWidget' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `button' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `win' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `vbox' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GLogFunc' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c syntax error before "gtk_false"
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `g_log_default_handler' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_WIN_POS_CENTER' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `gtk_main_quit' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `TRUE' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_STOCK_DIALOG_INFO' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `gpointer' undeclared (first use in this function)
C:\Documents and Settings\vincent d\Bureau\test graph\main.c syntax error before "win"
C:\Documents and Settings\vincent d\Bureau\test graph\main.c `GTK_STOCK_CLOSE' undeclared (first use in this function)
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 août 2006 à 20:21
Mais c'est quand meme pas sorcier ! UN MESSAGE D'ERREUR, faut le lire aussi:
"\Documents and Settings\vincent d\Bureau\test graph\main.c C:\Documents
and Settings\vincent d\Bureau\test graph\C gtk/gtk.h: No such file or
directory." => ca c'est pas de l'anglais littéraire quand meme.
Faut que tu t'arranges dans les options du compilo de devcpp pour faire en sorte qu'il le trouve ce fichier gtk.h.
Apres il te fera chier avec d'autres fichiers, il faudra également lui rajouter les chemins correct.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 31 août 2006 à 20:41
LOL ! Du calme luhtor ! C'est vrai qu'apparemment developvbdebut a envie qu'on lui mache tout le boulot à sa place, mais faut être patient. ;)
Comme le dit luhtor il faut lire les erreurs du compilo en donnant priorité à la toute première affichée, car elle en provoque souvent d'autres.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 31 août 2006 à 20:49
Luhtor te l'a déjà dit comment faire. Pourtant c'est français ce qu'il t'a dit.
Ta première erreur est que le compilateur ne trouve pas le fichier gtk.h là où il te l'indique.
Fais donc en sorte qu'il soit où il faut.
En plus clair, créer les dossiers nécessaires et copie y le fichier gtk.h dedans.
L'autre solution est de modifier les options.
Précision, un fichier *.h s'appelle un fichier header.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 31 août 2006 à 23:09
Je m'énerve pas :) mais je veux bien me faire comprendre en disant: que
faut connaitre kan meme un minimum son I3D sur lequel on travail (en
l'occurence devcpp) pour pouvoir programmer.
Donc pour les options faut aller dans :
Outils -> Options du compilateur -> Onglet Répertoires -> Onglet Répertoires C++ .h
puis ajouter les chemins d'accès dans la liste de facon à ce que (jexplique):
#include <gtk/gtk.h>
le compilo va essayer avec tous les chemins d'accès.
Donc si tu as dans la liste un truc du genre:
"c:\devcpp\include"
le compilo va tester ca:
"c:\devcpp\include\gtk\gtk.h"
et si aucun des chemins d'accès de la liste ne marche, il va te sortir
l'erreur que tu as obtenus. Donc a toi de jouer maintenant.