Guide to Incorporating the "graphics.h" C/C++ Library into the GCC Compiler on a Linux System
Using Turbo C-style Graphics Libraries on Ubuntu with SDL Support =============================================================
For those seeking to use something akin to the Turbo C graphics API on Ubuntu, there are several options available. One such project is the Graphics-Library by SagarGaniga on GitHub, which aims to provide a similar API for modern systems, particularly Linux.
Here are step-by-step instructions for installing and using a Turbo C-style graphics library with SDL support on Ubuntu, focusing on the Graphics-Library project from GitHub.
**Step 1: Install Dependencies**
First, ensure you have the necessary dependencies installed. Open a terminal and run:
```bash sudo apt update sudo apt install build-essential git libsdl2-dev ```
**Step 2: Clone the GitHub Repository**
Clone the SagarGaniga/Graphics-Library repository:
```bash git clone https://github.com/SagarGaniga/Graphics-Library.git cd Graphics-Library ```
**Step 3: Build the Library**
Follow the instructions in the repository’s README. Generally, this involves:
```bash mkdir build cd build cmake .. make sudo make install ```
*Note: Always check the latest README for project-specific build instructions, as they may have changed.*
**Step 4: Compile and Run Example Programs**
After installation, you should be able to compile your C programs using the provided headers and linking against the library. For example, if you have a program `sample.c`:
```c #include
int main() { initwindow(800, 600, "Graphics Example"); circle(400, 300, 100); getch(); // Wait for key press closegraph(); return 0; } ```
Compile it as follows (adjust flags if the library name or paths differ):
```bash gcc sample.c -o sample -lgraphics -lSDL2 ```
Run the program:
```bash ./sample ```
**Step 5: Troubleshooting and GUI Display**
If you are running Ubuntu in a container or VM and want to display the GUI on your host machine, you may need to set up an X server. On Windows, you can use VcXsrv or X410 to forward the GUI[1]. On Linux, if you are running X11, it should work natively.
For Docker containers with GUI apps, you can forward the display by setting:
```bash export DISPLAY=host-ip:0 xhost +local: ```
Then run the program as usual.
**Step 6: Alternative: Use Modern Graphics Libraries**
If you run into compatibility issues with `libgraph` or SagarGaniga's Graphics-Library, consider using modern alternatives like SDL2 directly or the more widely supported `graphviz` for graph drawing[2]. However, these do not provide the Turbo C/BGI API.
---
**Summary Table**
| Step | Command/Description | |---------------------|-----------------------------------------------------------------| | Install deps | `sudo apt install build-essential git libsdl2-dev` | | Clone repo | `git clone https://github.com/SagarGaniga/Graphics-Library.git` | | Build library | `mkdir build; cd build; cmake ..; make; sudo make install` | | Compile example | `gcc sample.c -o sample -lgraphics -lSDL2` | | Run example | `./sample` |
---
By following these steps, you should be able to use a Turbo C-style graphics API in C on Ubuntu, utilizing SDL for drawing and event handling. Keep in mind that the Graphics-Library project may not always be maintained, and it is essential to check the latest README for any updates or changes to the build instructions.
[1] Forwarding the GUI: [2] Graphviz:
Exploring the realm of modern systems, we can use the Graphics-Library by SagarGaniga on GitHub to harness a Turbo C-style graphics API that offers an approach akin to the original Turbo C graphics API.
Once you have the library installed, you can leverage it to create engaging graphics programs in C on your Ubuntu system, resulting in an appealing fusion of ancient and contemporary technology.