"graphics.h" problème de compilation

carole - 24 juil. 2001 à 18:55
cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 - 19 févr. 2007 à 21:04
J'utilise l'ide Borland 4.5 et je souhaite faire du graphisme.
Mon problème et que lorsque je compile l'exemple borland ci dessous,

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();

if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg (errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}

/* draw a line */
line(0, 0, getmaxx(), getmaxy());

/* clean up */
getch();
closegraph();
return 0;
}
j'obtiens le message suivant :

Linker Error: Undefined symbol _closegraph in module GRAPH.CPP
Linker Error: Undefined symbol _line in module GRAPH.CPP
Linker Error: Undefined symbol _getmaxx in module GRAPH.CPP
Linker Error: Undefined symbol _getmaxy in module GRAPH.CPP
Linker Error: Undefined symbol _grapherrormsg in module GRAPH.CPP
Linker Error: Undefined symbol _graphresult in module GRAPH.CPP
Linker Error: Undefined symbol _initgraph in module GRAPH.CPP

de même sous dos avec TC3.

Pouvez vous m'expliquer quel est le problème et m'aider à le resoudre...
Je vous remerci ;)

6 réponses

En fait il te manque un ou plusieurs fichiers binaires contenant le code des fonctions que tu veux utiliser.
Il faut ajouter la liste de ces fichiers au linker.

Enfin c'est tout ce que je peux te dire car j'ai Borland C je connais et la programmation DOS ca fait longtemps que j'ai arrêté.
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
2 juil. 2002 à 11:16
salut,

ton problème réside dans le fait que tu n'indiques pas au compilateur où trouver le mode vga ou ega..
il faut lui donner le chemin c:\\tc\\bgi" pour turbo c++

initgraph(&gdriver, &gmode, "c:\\tc\\bgi");

de plus si c'est la version windows de Borland 4.5 il y a un problème avec inclusion de graphics.h

error BGI graphics not supported under Windows

cmarsc ;-)
0
deemon Messages postés 13 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 24 février 2009
4 déc. 2004 à 14:03
alors moi j'avais

ce genre d'erreur

pour le turbo c++ 3.0

la soluce je pense pck je n'utilise pas encor borland c 4.5

mais il faut cocher l'implémentation des bibliothèque

graphique

puis qu'il ne reconnait pas les fonctions je pense

mais en tt cas ca m'a chifonné pa mal de tem pr trouvé cett

soluce :)))
0
cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
18 févr. 2007 à 19:22
  salut, je suis un débutant en mode graphique, et j'ai un probléme en mode graphique, lorsque j'éxécute un programme en turbo c ou borland c en mode graphique il se plante ;et je ne parvien pas à revenir à la page précédente j'utlise la bibliothéque graphics.h merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
deemon Messages postés 13 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 24 février 2009
19 févr. 2007 à 06:33
salut youma peux tu publier une partie du code que tu essaies de compiler,

et si possible de le debugger afin de tracer la source du probleme!

Merci,
0
cs_youma85 Messages postés 82 Date d'inscription dimanche 18 février 2007 Statut Membre Dernière intervention 28 avril 2011 1
19 févr. 2007 à 21:04
salut deemon  ben j'ai compiler mon programme  dans un autre pc et ç marcher ché pas pourquoi peut etre j'ai un probleme de carte gaphique et voila un exemple de programme


#include<stdio.h>
#include<stdio.h>
#include<graphics.h>
#include<math.h>
void main()
{
int gd=DETECT,gm,i,y;
initgraph(&gd,&gm,"c:\\borlandc\\bgi");
cleardevice();
line(10,240,640,240);       //axe des x
line(15,1,1,480);           //axe des y
settextstyle(1,0,1);
outtextxy(0,240,"0");
for(i=10;i<=640;i++)
{
 y=60*sin(((2*3.14)/200)*i);
 putpixel(i,240+y,RED);
 y=60*cos(((2*3.14)/200)*i);
 putpixel(i,240+y,2);
 y=60*tan(((2*3.14)/200)*i);
 putpixel(i,240+y,YELLOW);


 delay(5);
}
getch();
closegraph();
}


 
0
Rejoignez-nous