| | Tical | Posté le 24/12/2005 @ 00:44 | Petit astucien
41 Messages
| Bonnes fêtes à tous, pour commencer.
Voilà, en fait, en installant DevC++ sur mon PC, lors de la compilation d'un petit programme utilisant SCREEN-H, SCREEN-W, ...etc... qui sont des mots-clé, ne sont pas reconnus par le compilateur!
C'est sûrement dû à une défaillance dans mon installation.
Or, je m'y suis repris à plusieurs fois mais rien n'y fait, toutes les bibliothèques et autres devraient être présentent, et donc, les mots-clé comme SCREEN_H, ...etc... devraient être reconnu. [boom]
Je vous remercie à l'avance de vos recommandations.
| | |
| |
| Publicité |
|
| | AlexPrince | Posté le 24/12/2005 à 01:12 | Petit astucien
398 Messages
| 1. Ce ne sont pas des mots-clés.
2. Montre-nous le code. | | | | | Tical | Posté le 24/12/2005 à 13:19 | Petit astucien
41 Messages
| Le code est bon puisqu'en TP en cours ça fonctionne mais chez moi, non! | | | | | Scratch53 | Posté le 24/12/2005 à 13:23 | Petit astucien
267 Messages
| salut
l'as tu vraiment cette bibliothèque?
si oui , vois pi etre si tu peux pas la remplacer par une nouvelle s'il y a moyen. | | | | | AlexPrince | Posté le 24/12/2005 à 15:40 | Petit astucien
398 Messages
| En voyant ton code il nous serait possible de te donner des causes probables du problème. | | | | | Tical | Posté le 26/12/2005 à 14:01 | Petit astucien
41 Messages
| Voilà le code
[code]
/* Feuille 5: TP6
Utilisation d'une bibliothèque graphique et tracé de courbe. */
#include <stdio.h>
#include <stdlib.h>
#include <allegro.h>
#include <math.h>
/* Fonction min_max qui calcule les coordonnées extrêmes dans le plan
des points de la courbe que l'on souhaite tracer. */
void min_max (float F(float), float G(float), float tmin, float tmax,
float *xmin, float *xmax, float *ymin, float *ymax, int n)
{float t,h,x,y;
int i;
h=(tmax-tmin)/(float)(n-1);
t=tmin;
*xmin=F(tmin);
*ymin=G(tmin);
*xmax=*xmin;
*ymax=*ymin;
{for (i=2; i<=n; ++i)
{t=t+h;
x=F(t);
y=G(t);
if (x>*xmax) *xmax = x; else if (x<*xmin) *xmin = x;
if (y>*ymax) *ymax = y; else if (y<*ymin) *ymin = y;
}
}
}
/* Fonction conversion1 qui calcule les coefficients ex et ey
(facteurs d'échelle) ainsi que x0 et y0 (facteurs de translation). */
void conversion1 (float xmin, float xmax, float ymin, float ymax, float *x0,
float *y0, float *ex, float *ey)
{*ex = SCREEN_W / (xmax-xmin);
*ey = SCREEN_H / (ymax-ymin);
if (*ex>*ey) *ex = *ey; *ey = -*ex;
*x0 = (SCREEN_W - *ex * (xmax+xmin)) / 2;
*y0 = (SCREEN_H + *ex * (ymax+ymin)) / 2;
}
/* Procédure trace1 qui dessine dans la fenêtre graphique une portion de
courbe définie par les fonctions F et G, l'intervalle [t1, t2] du
paramètre et le nombre n de points d'échantillonage. */
void trace1 (float F(float), float G(float), float tmin, float tmax, int n)
{float xmin, xmax, ymin, ymax, x0, y0, ex, ey, h, t;
int blanc, rouge, noir, x1, x2, y1, y2, i;
min_max (F, G, tmin, tmax, &xmin, &xmax, &ymin, &ymax, n);
set_gfx_mode (GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0);
blanc = makecol (255, 255, 255);
rouge = makecol (255, 0, 0);
noir = makecol (0, 0, 0);
conversion1 (xmin, xmax, ymin, ymax, &x0, &ex, &y0, &ey);
clear_to_color (screen, blanc);
rect (screen, (int)((ex*xmin)+x0),(int)((ey*ymax)+y0),(int)((ex*xmax)+x0),
(int)((ey*ymin)+y0), rouge);
h = (tmax-tmin)/(n-1);
x1 = (int)(ex*F(t)+ x0);
y1 = (int)(ey*G(t)+ y0);
for ( i=2; i<=n; i++)
{t= t+ h;
x2 = (int)(ex*F(t)+x0);
y2 = (int)(ey*G(t)+y0);
line (screen, x1, y1, x2, y2, noir);
x1 = x2;
y1 = y2;
}
readkey();
set_gfx_mode (GFX_TEXT, 0, 0, 0, 0);
}
/* Définir la procédure principale main permettant de faire plusieurs tracés
successifs d'une même courbe */
float F(float t) {return sin(t);}
float G(float t) {return cos(t);}
int main()
{float tmin,tmax;
int n;
allegro_init();
install_keyboard ();
printf("Indiquer la borne inférieure de l'intervalle: tmin=");
scanf("%f",&tmin);
printf("Indiquer la borne supérieure de l'intervalle: tmax=");
scanf("%f",&tmax);
printf("Indiquer le nombre de points d'échantillonage: n=");
scanf("%d",&n);
trace1 (F, G, tmin, tmax, n);
}
END_OF_MAIN ();
[/code] | | | | | breizhbugs | Posté le 26/12/2005 à 14:29 | Astucien
3001 Messages
| [hello]
Peut tu stp, indiqué quel est l'erreur mot a mot.
Je pressens une erreur, non pas du compilateur mais du linker...
| | | | | AlexPrince | Posté le 26/12/2005 à 19:42 | Petit astucien
398 Messages
| Il a probablement oublié de linker les librairies d'Allegro.. | | | | | Tical | Posté le 27/12/2005 à 01:48 | Petit astucien
41 Messages
| AlexPrince a écrit :
Il a probablement oublié de linker les librairies d'Allegro..
C'est-à-dire ...
(Merci de vous penchez sur ce ptit problème en même temps [hello]) | | | | | AlexPrince | Posté le 27/12/2005 à 02:39 | Petit astucien
398 Messages
| Est-ce que tu as ajouté un fichier s'appellant allegro.lib ou allegro.a ou quelque chose du genre à la liste de librairies dans ton IDE ? | | | | | breizhbugs | Posté le 27/12/2005 à 11:26 | Astucien
3001 Messages
| Tical a écrit :
C'est-à-dire ...
(Merci de vous penchez sur ce ptit problème en même temps [hello])
Pourquoi ne nous mets tu pas l'erreur exact au lieu de nous pousser a faire des suppositions? | | | | | Tical | Posté le 10/01/2006 à 23:40 | Petit astucien
41 Messages
| Voilà la réponse:
allegro.h: No such file or directory.
Comment faire pour la placer là-bas? | | | | | koala01 | Posté le 11/01/2006 à 00:12 | Astucien
4715 Messages
| Salut,
Dev-CPP est un outil génial, principalement du fait qu'il propose une installation des plus modulables en fonction de ce que tu veux (prévois) de faire…
Il se fait que la librairie allegro n'est pas vraiment une librairie standard, et qu'elle n'est donc pas installée d'office.
Il faut donc que tu demandes toi meme de les installer…
Cela se fait en allant dans le menu Outils->Nouvelles versions/packages
Il faut sélectionner le mirroir "devpacks.org" puis cliquer sur "check for updates"…
En sélectionnant le groupe "allegro", tu pourras choisir les paquetages propres à la librairie allegro que tu souhaites installer[clindoeil]
Une fois ces librairies installés, tu verras que tout ira bien mieux [clindoeil] | | | | | Tical | Posté le 12/01/2006 à 19:36 | Petit astucien
41 Messages
| Je te remercie!
Mais quel package utilisé?
Chui débutant donc ché pas trop.
Merci de vos réponses. | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|