# Problema con la libreria della grafica

**URL:** <https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126>\
**Category:** Random\
**Created:** [4 Aprile 2020, 9:02am UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126 "2020-04-04T09:02:03Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mat0k3](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Mat0k3](https://forum.olinfo.it/u/Mat0k3)\
**Post date:** [4 Aprile 2020, 9:02am UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/1 "2020-04-04T09:02:03Z")

</div>

So che non centra molto con le olimpiadi però dato che mi ci sto scervellando e non trovo comunque una soluzione, chiedo aiuto a qualcuno che sa utilizzare questa libreria:

```auto
#include <graphics.h> 
#include <iostream>
using namespace std;
int main()
{
   int gd = DETECT,gm;
 initgraph(&amp,gd,&amp,gm,"c:\\Dev-Cpp\\lib\\libbgi");   

 int x= 150,y=180,radius=50;

 setcolor(MAGENTA);
 outtextxy(x - 70, y - 170, "Benvenuti nel mio primo programma in Graphics");

 setcolor(LIGHTGREEN);
 circle(x, y, radius);
 floodfill(x,y,YELLOW);
 circle(x+200, y, radius);
 floodfill(x+200,y,YELLOW);

 setcolor(RED);
 rectangle(x+80, y + 50, x+120, y+150);
 floodfill(x+81,y+51,12);

 setcolor(BLUE);
 arc(x+100, y+70,20, 160,150);

 setcolor(DARKGRAY);
 circle(x+100, y+75, 200);
 
 getch();
 closegraph();

 return 0;
}

```

Ho questo problema sto cercando di lavorare con l libreria di grafica, ho gia inserito i file opportuni nelle cartelle però nonostante questo continua a dare un errore dicendomi che alla seconda riga dentro il main mi dice che “amp” non è dichiarato;  
Se qualcuno può gentilmente aiutarmi gliene sarei infinitamente grato;  
Grazie in anticipo!

---

<div class="post-metadata">

**Author:** ![v.bizzarri](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/v/7c8e57/32.png) [@v.bizzarri](https://forum.olinfo.it/u/v.bizzarri)\
**Post date:** [4 Aprile 2020, 2:21pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/2 "2020-04-04T14:21:42Z")

</div>

> [@Mat0k3](#):
>
> initgraph(&amp,gd,&amp,gm,“c:\Dev-Cpp\lib\libbgi”);

in effetti passi l’indirizzo di amp a initgraph() ma mi sembra che amp non sia stata dichiarata.

---

<div class="post-metadata">

**Author:** ![Mat0k3](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Mat0k3](https://forum.olinfo.it/u/Mat0k3)\
**Post date:** [4 Aprile 2020, 3:03pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/3 "2020-04-04T15:03:25Z")

</div>

Ho provato a toglierlo ma non cambia nulla mi continua a dare errore

---

<div class="post-metadata">

**Author:** ![wil93](https://forum.olinfo.it/user_avatar/forum.olinfo.it/wil93/32/2862_2.png) [@wil93](https://forum.olinfo.it/u/wil93)\
**Post date:** [4 Aprile 2020, 3:43pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/4 "2020-04-04T15:43:49Z")

</div>

Prova a partire da un esempio più semplice che compila correttamente e poi aggiungi man mano le istruzioni. Cercando su google “graphics.h” ho trovato questa guida che potrebbe esserti utile: [https://developerinsider.co/graphics-graphics-h-c-programming/](https://developerinsider.co/graphics-graphics-h-c-programming/)

---

<div class="post-metadata">

**Author:** ![Mat0k3](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Mat0k3](https://forum.olinfo.it/u/Mat0k3)\
**Post date:** [4 Aprile 2020, 4:05pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/5 "2020-04-04T16:05:38Z")

</div>

Grazi ho provato a fare il primo esempio ma mi da “clrscr not declared”:

```auto
#include<graphics.h>
#include<stdio.h>
#include<conio.h>

int main() {
   int gdriver = DETECT, gmode;
   int x1 = 200, y1 = 200;
   int x2 = 300, y2 = 300;
   clrscr();
   
   initgraph(&gdriver, &gmode, "c:\\turboc3\\bgi");
   line(x1, y1, x2, y2);
   getch();
   closegraph();
}

```

Non riesco veramente a capire dove sia l’errore sto cercando su vari forum ma niente mi sembra di aver seguito tutte le istruzioni correttamente

---

<div class="post-metadata">

**Author:** ![wil93](https://forum.olinfo.it/user_avatar/forum.olinfo.it/wil93/32/2862_2.png) [@wil93](https://forum.olinfo.it/u/wil93)\
**Post date:** [4 Aprile 2020, 5:13pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/6 "2020-04-04T17:13:22Z")

</div>

Cercando “clrscr not declared” su Google ho trovato questo:

> <https://stackoverflow.com/questions/18766159/error-with-clrscr-on-dev-c-5-4-2>

Da quel che dicono lì, pare che `clrscr()` non sia una funzione standard bensì una semplice estensione fornita solo dal compilatore (antico) della Borland all’interno di `<conio.h>` (anche questo non standard), e pare che nei compilatori moderni non sia presente.

Dicono anche che includendo `<stdlib.h>` si può usare `system("cls")` che pare faccia la stessa cosa di `clrscr()` 😉

---

<div class="post-metadata">

**Author:** ![Mat0k3](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Mat0k3](https://forum.olinfo.it/u/Mat0k3)\
**Post date:** [4 Aprile 2020, 7:13pm UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/7 "2020-04-04T19:13:05Z")

</div>

Sono disperato non funziona neanche questo… 😭

---

<div class="post-metadata">

**Author:** ![wil93](https://forum.olinfo.it/user_avatar/forum.olinfo.it/wil93/32/2862_2.png) [@wil93](https://forum.olinfo.it/u/wil93)\
**Post date:** [5 Aprile 2020, 8:52am UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/8 "2020-04-05T08:52:51Z")

</div>

Non compila? Che errore dà?

---

<div class="post-metadata">

**Author:** ![Nikkoraz](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/n/958977/32.png) [@Nikkoraz](https://forum.olinfo.it/u/Nikkoraz)\
**Post date:** [5 Aprile 2020, 8:59am UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/9 "2020-04-05T08:59:01Z")

</div>

Hai impostato correttamente il linker?  
Ho usato quella libreria in tempi remoti, e se non ricordo male devi installare un file libgraphics.a o qualcosa del genere che poi va linkato.  
Se usi dev cpp devi creare un progetto e andare nelle impostazioni di compilazione e nel linker aggiungere diversi parametri del tipo “-l\<nome libreria, cercalo su internet\>”  
Tra l’altro io non ho mai usato una funzione initgraphics, è sufficiente aprire il main e scrivere initwindow che crea la finestra grafica:  
initwindow(int larghezza, int altezza, const char \* titolo);

Inoltre la libreria in questione non è più mantenuta se non erro ed è solo per WS, ti consiglio di passare a librerie più avanzate e multipiattaforma come SDL2 che ti permette di importare immagini, suoni, e fare molte cose. La SDL2 supporta pure l’accelerazione hardware perché renderizza con OpenGL

---

<div class="post-metadata">

**Author:** ![Mat0k3](https://forum.olinfo.it/letter_avatar_proxy/v4/letter/m/35a633/32.png) [@Mat0k3](https://forum.olinfo.it/u/Mat0k3)\
**Post date:** [5 Aprile 2020, 9:20am UTC](https://forum.olinfo.it/t/problema-con-la-libreria-della-grafica/6126/10 "2020-04-05T09:20:41Z")

</div>

Finalmente ci sono riuscito ho dovuto usare codeblocks perchè con dev ci avevo perso le speranze
