Existe-t-il un compilateur basé sur Linux qui prend en charge la graphics.hbibliothèque? Je souhaite implémenter des programmes graphiques, veuillez donc me faire savoir s'il existe un tel logiciel.
Que devez-vous savoir exactement? Les compilateurs sont censés trouver tous les en-têtes si vous mettez les bons écouteurs .. umm ... dans votre fichier source.
Braiam
@Braiam Le compilateur ne trouvera pas comme par magie un fichier d'en-tête simplement parce que vous l'incluez. Tout d'abord, il est clair que ce fichier doit être installé sur votre système (généralement les fichiers d'en-tête sont fournis avec des *-devpackages sur les distributions Linux) - le compilateur ne le téléchargera pas pour vous. Deuxièmement, ce fichier d'en-tête doit être soit dans un emplacement standard où un compilateur le recherchera (comme /usr/include), soit cet emplacement doit être spécifié avec -Isur la ligne de commande (pour gccou g++). De plus, vous avez généralement besoin des bibliothèques d'exécution pour l'étape de liaison (à l'exception des
bibliothèques
@MalteSkoruppa bien, mais de quoi avez-vous besoin pour l'utiliser? Mettez-le dans vos en-têtes, non?
Braiam
@Braiam Err ... que demandez-vous? Écoutez, la question de l'OP est juste la suivante: de quoi ai-je besoin pour pouvoir utiliser la graphic.hbibliothèque sur Ubuntu? C'est parfaitement clair. Une réponse appropriée expliquera quels packages sont nécessaires et comment les installer (comme le fait la réponse existante), et éventuellement les paramètres nécessaires sur la ligne de commande au moment de la compilation.
Malte Skoruppa
@MalteSkoruppa lisez-vous le corps?
Braiam
Réponses:
31
Il existe plusieurs options disponibles pour faire de la programmation graphique à l'aide d'Ubuntu.
Utilisation de SDL
Si vous souhaitez utiliser graphics.hsur la plate-forme Ubuntu, vous devez compiler et installer libgraph. Il s'agit de l'implémentation de l'API graphique turbo c sur Linux en utilisant SDL.
Il n'est pas très puissant et adapté à une application de qualité de production, mais il est simple et facile à utiliser à des fins d'apprentissage.
Pour 18.04 : à partir d'Ubuntu 18.04 guile-2.0fonctionne et libesd0-devest déconseillé. Pour cela, vous devez ajouter des référentiels de xenialin sources.list.
sudo nano /etc/apt/sources.list
Ajoutez ces lignes:
deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main universe
Courez sudo apt-get update. Installez ensuite les packages en utilisant:
Extrayez maintenant le libgraph-1.0.2.tar.gzfichier téléchargé .
Accédez au dossier extrait et exécutez la commande suivante:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.*/usr/lib
Vous pouvez maintenant utiliser #include<graphics.h>sur Ubuntu et la ligne suivante dans votre programme:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Voici un exemple de programme utilisant 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;}
Pour le compiler, utilisez
gcc demo.c -o demo -lgraph
Pour exécuter le type
./demo
Utiliser OpenGL (via GLUT)
Bien qu'OpenGL soit essentiellement conçu pour la programmation 3D, le dessin de formes 2D donne le contour de base et l'introduction à OpenGL et donne une idée de la façon de commencer à dessiner des objets dans OpenGL.
Pour installer GLUT, ouvrez le terminal et tapez sudo apt-get install freeglut3-dev.
Voici un programme graphique simple utilisant GLUT
J'utilise SDL, mais j'ai fait tous les trucs comme dit, intall libgraph aussi, mais après l'exécution du programme, il s'arrête et se termine soudainement avec une erreur [xcb] Numéro de séquence inconnu lors du traitement de la file d'attente
Luzan Baral
quelle version d'Ubuntu utilisez-vous?
g_p
j'utilise
@LuzanBaral, Il semble que GTK pose problème, mais vous pouvez toujours exécuter le programme.
g_p
1
Pour les erreurs rencontrées lors de l'installation de libgraph à l'aide de SDL, consultez askubuntu.com/a/995265/719469 et askubuntu.com/a/717262/719469 (cela vous fera gagner beaucoup de temps, en disant cela par expérience personnelle: P)
Kewal Shah
2
Si vous souhaitez utiliser graphics.h dans ubuntu ou toute autre distribution Linux, je préfère libxbgi. Il peut faire presque tout ce que vous attendez de graphics.h pour Windows. Vous pouvez le télécharger ici: http://libxbgi.sourceforge.net/
Sinon, si vous voulez faire des graphiques haut de gamme, vous êtes là pour SDL (qui est principalement destiné à la programmation de jeux vidéo) et OpenGL (qui est destiné aux graphiques 3D). Vous pouvez également utiliser un mélange des deux. Un exemple est le jeu briquolo (l'orthographe peut être erronée).
*-dev
packages sur les distributions Linux) - le compilateur ne le téléchargera pas pour vous. Deuxièmement, ce fichier d'en-tête doit être soit dans un emplacement standard où un compilateur le recherchera (comme/usr/include
), soit cet emplacement doit être spécifié avec-I
sur la ligne de commande (pourgcc
oug++
). De plus, vous avez généralement besoin des bibliothèques d'exécution pour l'étape de liaison (à l'exception desgraphic.h
bibliothèque sur Ubuntu? C'est parfaitement clair. Une réponse appropriée expliquera quels packages sont nécessaires et comment les installer (comme le fait la réponse existante), et éventuellement les paramètres nécessaires sur la ligne de commande au moment de la compilation.Réponses:
Il existe plusieurs options disponibles pour faire de la programmation graphique à l'aide d'Ubuntu.
Utilisation de SDL
Si vous souhaitez utiliser
graphics.h
sur la plate-forme Ubuntu, vous devez compiler et installerlibgraph
. Il s'agit de l'implémentation de l'API graphique turbo c sur Linux en utilisant SDL.Il n'est pas très puissant et adapté à une application de qualité de production, mais il est simple et facile à utiliser à des fins d'apprentissage.
Vous pouvez le télécharger ici .
Ajoutez d'abord le référentiel Universe (car certains packages requis ne sont pas disponibles dans le référentiel principal):
Deuxième installation de build-essential et quelques packages supplémentaires:
Pour les versions antérieures au 18.04:
Pour 18.04 : à partir d'Ubuntu 18.04
guile-2.0
fonctionne etlibesd0-dev
est déconseillé. Pour cela, vous devez ajouter des référentiels dexenial
insources.list
.Ajoutez ces lignes:
Courez
sudo apt-get update
. Installez ensuite les packages en utilisant:Extrayez maintenant le
libgraph-1.0.2.tar.gz
fichier téléchargé .Accédez au dossier extrait et exécutez la commande suivante:
Vous pouvez maintenant utiliser
#include<graphics.h>
sur Ubuntu et la ligne suivante dans votre programme:Voici un exemple de programme utilisant
graphics.h
:Pour le compiler, utilisez
Pour exécuter le type
Utiliser OpenGL (via GLUT)
Bien qu'OpenGL soit essentiellement conçu pour la programmation 3D, le dessin de formes 2D donne le contour de base et l'introduction à OpenGL et donne une idée de la façon de commencer à dessiner des objets dans OpenGL.
sudo apt-get install freeglut3-dev
.Compilez-le en utilisant
gcc demo.c -o demo -lglut -lGL
Exécutez-le en utilisant
./demo
la source
Si vous souhaitez utiliser graphics.h dans ubuntu ou toute autre distribution Linux, je préfère libxbgi. Il peut faire presque tout ce que vous attendez de graphics.h pour Windows. Vous pouvez le télécharger ici: http://libxbgi.sourceforge.net/
Sinon, si vous voulez faire des graphiques haut de gamme, vous êtes là pour SDL (qui est principalement destiné à la programmation de jeux vidéo) et OpenGL (qui est destiné aux graphiques 3D). Vous pouvez également utiliser un mélange des deux. Un exemple est le jeu briquolo (l'orthographe peut être erronée).
PROGRAMMATION GRAPHIQUES HEUREUX !!
la source