[ Foro de C++ ]

graphics?

31-Dec-2019 12:34
Invitado (jesus++)
3 Respuestas

Saludos, quiero utilizar la libreria graphics y resulta que la he descargado y seguido los ejemplos que aparecen en youtube. Utilizo compilador dev-c++. Resulta que el ejemplo que viene para testear la aplicacion si funciona.
Ahora si copio programa y lo pego en un proyecto nuevo me da error:

C:\c++\collect2.exe [Error] ld returned 1 exit status
C:\c++\SinNombre2.o SinNombre2.cpp:(.text+0x136): undefined reference to `circle'.

El codigo ejemplo que funciona bien:

#include<graphics.h>
#include<conio.h>
#include<dos.h>

main()
{
  int gd = DETECT, gm, x, y, color, angle = 0;
  struct arccoordstype a, b;
  initgraph(&gd, &gm, "C:\\TC\\BGI");
  delay(2000);                                                                
  while(angle<=360)
  {
 
     setcolor(BLACK);
     arc(getmaxx()/2,getmaxy()/2,angle,angle+2,100);
     setcolor(RED);
   
     getarccoords(&a);
     circle(a.xstart,a.ystart,25);
     setcolor(BLACK);
     arc(getmaxx()/2,getmaxy()/2,angle,angle+2,150);
     circle(300,400,80);
     getarccoords(&a);
     setcolor(GREEN);
     circle(a.xstart,a.ystart,25);
     angle = angle+5;
     delay(50);
  }
  getch();
  closegraph();
}




31-Dec-2019 13:42
Nacho Cabanes (+53)

Esa librería graphics no es de Dev-C++, sino de Turbo C / Borland C++, para MS-DOS.


31-Dec-2019 21:10
Jorge d r (+1)

Has incluido la librería al proyecto?
Si no es así aquí lo explican:
https://elrincondelc.com/foros/viewtopic.php?t=2953
Ahora no puedo mirar más que estoy con el móvil ya miraré más en casa.
Saludos


02-Jan-2020 10:56
Nacho Cabanes (+53)

No basta con incluir una librería. Mira esta línea:

initgraph(&gd, &gm, "C:\\TC\\BGI");

De librerías cono "conio" hay versiones para Dev-C++, pero de graphics para MS-DOS, no le va a ser fácil encontrarla. Casi es preferible cambiar de compilador para hacer pruebas como esas...






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...