Gibt es einen Linux-basierten Compiler, der die graphics.hBibliothek unterstützt ? Ich möchte Grafikprogramme implementieren. Bitte teilen Sie mir mit, ob es eine solche Software gibt.
Was genau musst du wissen? Die Compiler sollen alle Header finden, wenn Sie die richtigen Hörer in Ihre Quelldatei einfügen.
Braiam
@Braiam Der Compiler findet eine Header-Datei nicht auf magische Weise, nur weil Sie sie einbinden. Zunächst muss klar sein, dass die Datei *-devauf Ihrem System installiert sein muss (normalerweise werden Header-Dateien mit Paketen in Linux-Distributionen geliefert) - der Compiler lädt sie nicht für Sie herunter. Zweitens muss sich diese Headerdatei entweder an einem Standardspeicherort befinden, an dem ein Compiler danach sucht (z. B. /usr/include), oder dieser Speicherort muss in -Ider Befehlszeile mit (für gccoder g++) angegeben werden. Außerdem benötigen Sie normalerweise die Laufzeitbibliotheken für die Linking-Phase (außer für reine Header-Bibliotheken) ...
Malte Skoruppa
@MalteSkoruppa gut, aber was brauchst du, um es zu benutzen? Schreiben Sie es in Ihre Überschriften, nein?
Braiam
@Braiam Err ... was fragst du? Schauen Sie, die Frage des OP ist nur: Was muss ich tun, um die graphic.hBibliothek unter Ubuntu nutzen zu können? Es ist vollkommen klar. Eine entsprechende Antwort erklärt, welche Pakete benötigt werden und wie sie installiert werden (wie es die vorhandene Antwort tut), und möglicherweise welche Parameter zur Kompilierungszeit in der Befehlszeile benötigt werden.
Malte Skoruppa
@MalteSkoruppa liest du den Körper?
Braiam
Antworten:
31
Für die Grafikprogrammierung mit Ubuntu stehen mehrere Optionen zur Verfügung.
Verwenden von SDL
Wenn Sie graphics.hauf der Ubuntu-Plattform verwenden möchten, müssen Sie kompilieren und installieren libgraph. Es ist die Implementierung der Turbo C-Grafik-API unter Linux mit SDL.
Es ist nicht sehr leistungsfähig und für die Anwendung in Produktionsqualität geeignet, aber für Lernzwecke einfach und benutzerfreundlich.
Extrahieren Sie nun die heruntergeladene libgraph-1.0.2.tar.gzDatei.
Gehen Sie zum extrahierten Ordner und führen Sie den folgenden Befehl aus:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.*/usr/lib
Jetzt können Sie #include<graphics.h>auf Ubuntu und die folgende Zeile in Ihrem Programm verwenden:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Hier ist ein Beispielprogramm mit graphics.h:
/* demo.c */#include<graphics.h>int main(){int gd = DETECT,gm,left=100,top=100,right=200,bottom=200,x=300,y=150,radius=50;
initgraph(&gd,&gm,NULL);
rectangle(left, top, right, bottom);
circle(x, y, radius);
bar(left +300, top, right +300, bottom);
line(left -10, top +150, left +410, top +150);
ellipse(x, y +200,0,360,100,50);
outtextxy(left +100, top +325,"C Graphics Program");
delay(5000);
closegraph();return0;}
Verwenden Sie zum Kompilieren
gcc demo.c -o demo -lgraph
Typ ausführen
./demo
OpenGL verwenden (über GLUT)
Obwohl OpenGL im Grunde genommen für die 3D-Programmierung gedacht ist, vermittelt das Zeichnen von 2D-Formen einen Überblick und eine Einführung in OpenGL sowie eine Vorstellung davon, wie Sie mit dem Zeichnen von Objekten in OpenGL beginnen können.
Öffnen Sie zum Installieren von GLUT das Terminal und geben Sie Folgendes ein sudo apt-get install freeglut3-dev.
Ich benutze SDL, aber ich habe alle Sachen wie gesagt gemacht, intall libgraph auch, aber nach dem Ausführen des Programms stoppt es und endet plötzlich mit einem Fehler [xcb] Unbekannte Sequenznummer während der Verarbeitung der Warteschlange
Luzan Baral
welche Version von Ubuntu benutzt du?
g_p
Ich benutze Ubuntu 14.04
Luzan Baral
@LuzanBaral, Es scheint ein Problem mit GTK zu sein, aber Sie können das Programm trotzdem ausführen.
Wenn Sie graphics.h in Ubuntu oder einer anderen Linux-Distribution verwenden möchten, dann bevorzuge ich libxbgi. Es kann fast alles, was Sie von der graphics.h für Windows erwarten. Sie können es hier herunterladen: http://libxbgi.sourceforge.net/
Wenn Sie ansonsten High-End-Grafiken erstellen möchten, sind Sie für SDL (hauptsächlich zum Programmieren von Videospielen) und OpenGL (für 3D-Grafiken) da. Sie können auch eine Mischung aus beiden verwenden. Ein Beispiel ist das Spiel Briquolo (Rechtschreibung kann falsch sein).
*-dev
auf Ihrem System installiert sein muss (normalerweise werden Header-Dateien mit Paketen in Linux-Distributionen geliefert) - der Compiler lädt sie nicht für Sie herunter. Zweitens muss sich diese Headerdatei entweder an einem Standardspeicherort befinden, an dem ein Compiler danach sucht (z. B./usr/include
), oder dieser Speicherort muss in-I
der Befehlszeile mit (fürgcc
oderg++
) angegeben werden. Außerdem benötigen Sie normalerweise die Laufzeitbibliotheken für die Linking-Phase (außer für reine Header-Bibliotheken) ...graphic.h
Bibliothek unter Ubuntu nutzen zu können? Es ist vollkommen klar. Eine entsprechende Antwort erklärt, welche Pakete benötigt werden und wie sie installiert werden (wie es die vorhandene Antwort tut), und möglicherweise welche Parameter zur Kompilierungszeit in der Befehlszeile benötigt werden.Antworten:
Für die Grafikprogrammierung mit Ubuntu stehen mehrere Optionen zur Verfügung.
Verwenden von SDL
Wenn Sie
graphics.h
auf der Ubuntu-Plattform verwenden möchten, müssen Sie kompilieren und installierenlibgraph
. Es ist die Implementierung der Turbo C-Grafik-API unter Linux mit SDL.Es ist nicht sehr leistungsfähig und für die Anwendung in Produktionsqualität geeignet, aber für Lernzwecke einfach und benutzerfreundlich.
Sie können es hier herunterladen .
Fügen Sie zuerst das Universum- Repository hinzu (da einige erforderliche Pakete im Haupt-Repository nicht verfügbar sind):
Zweite Installation Build-Essential und einige zusätzliche Pakete:
Für Versionen vor dem 18.04:
Für 18.04 : Ab Ubuntu
guile-2.0
funktioniert 18.04 undlibesd0-dev
ist veraltet. Dazu müssen Sie Repositories vonxenial
in hinzufügensources.list
.Fügen Sie diese Zeilen hinzu:
Rennen
sudo apt-get update
. Dann installiere Pakete mit:Extrahieren Sie nun die heruntergeladene
libgraph-1.0.2.tar.gz
Datei.Gehen Sie zum extrahierten Ordner und führen Sie den folgenden Befehl aus:
Jetzt können Sie
#include<graphics.h>
auf Ubuntu und die folgende Zeile in Ihrem Programm verwenden:Hier ist ein Beispielprogramm mit
graphics.h
:Verwenden Sie zum Kompilieren
Typ ausführen
OpenGL verwenden (über GLUT)
Obwohl OpenGL im Grunde genommen für die 3D-Programmierung gedacht ist, vermittelt das Zeichnen von 2D-Formen einen Überblick und eine Einführung in OpenGL sowie eine Vorstellung davon, wie Sie mit dem Zeichnen von Objekten in OpenGL beginnen können.
sudo apt-get install freeglut3-dev
.Kompilieren Sie es mit
gcc demo.c -o demo -lglut -lGL
Führen Sie es mit
./Demo
quelle
Wenn Sie graphics.h in Ubuntu oder einer anderen Linux-Distribution verwenden möchten, dann bevorzuge ich libxbgi. Es kann fast alles, was Sie von der graphics.h für Windows erwarten. Sie können es hier herunterladen: http://libxbgi.sourceforge.net/
Wenn Sie ansonsten High-End-Grafiken erstellen möchten, sind Sie für SDL (hauptsächlich zum Programmieren von Videospielen) und OpenGL (für 3D-Grafiken) da. Sie können auch eine Mischung aus beiden verwenden. Ein Beispiel ist das Spiel Briquolo (Rechtschreibung kann falsch sein).
GLÜCKLICHE GRAFIKPROGRAMMIERUNG !!
quelle