ullas kunder

Designer & Developer


Setting up graphics library (graphics.h) in Visual Studio Code (c++)

Table Of Content

My Workspace Dir and code example

graphics example

General information

It like a tradition to use Turbo in our Indian CS sector. Its because the syllabus haven't been changed since long time.

The graphics. h header file provides access to a simple graphics library that makes it possible to draw lines, rectangles, ovals, arcs, polygons, images, and strings on a graphical window. The second step is initialize the graphics drivers on the computer using initgraph method of graphics. h library.

<graphics.h> is very old library. It's better to use something that is new.

Trust Me There are much better option

Allegro or SDL libraries may be for you. You could also try SFML. It has quite a following. You'll have a large community behind you if you needed any help.

Now To set up graphics.h in vs code:



Get all the files needed graphics.h, winbgim.h and libbgi.a

If you don't have MinGW installed get it from official and follow the steps.

Know the difference between MINGW, Mingw-w64 && TDM learn more go, go, go...

  • Copy graphics.h and winbgim.h files to MinGW/include folder.

location might be ("C:\MinGW\include")

  • Copy libbgi.a to file to MinGW/lib folder.

location might be ("C:\MinGW\lib")

Open Vs Code Smart way:

  • Select a folder and open Terminal
   mkdir turbographics
   cd turbographics
   code .

if you are using template with task and c_cpp_properties json file then you directory should look like this:

  • All you code should o inside src and the task.json will build the .exe in build folder
  • Create or Add .vscode folder in that workspace which will contain task.json, c_cpp_properties.json


//create a file name it example.cpp or any other name with .cpp extension

#include <graphics.h> 
    int main()
        int gd = DETECT, gm;
        char data[] = "C:\\MinGW\\lib\\libbgi.a";
        initgraph(&gd, &gm, data);
       //you can also pass NULL for third parameter if you did above setup successfully
       //example: initgraph(&gd, &gm, NULL);
        circle(200, 200, 100);
        return 0;

Running the file using command in termainl:

    g++ -o example hut.cpp -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

    //after u'll get example.exe run using command: .\example


OR => 👌🤩

  • Just Ctrl+Shift+B to run the build task you will get the executable file in build folder

graphics example2 graphics example3

Easy run template for graphics.h => repo If your dont want to write that command again and again you can create task.json