Есть ли компилятор на основе Linux, который поддерживает graphics.hбиблиотеку? Я хочу реализовать графические программы, поэтому, пожалуйста, дайте мне знать, если есть такое программное обеспечение.
Что именно вам нужно знать? Предполагается, что компиляторы найдут все заголовки, если вы добавите в исходный файл правильных ... ммм ... слушателей.
Брайам
@Braiam Компилятор волшебным образом не найдет заголовочный файл только потому, что вы его включили. Во-первых, ясно, что файл должен быть установлен в вашей системе (обычно заголовочные файлы поставляются с *-devпакетами в дистрибутивах Linux) - компилятор не будет загружать его для вас. Во-вторых, этот заголовочный файл должен находиться либо в каком-то стандартном месте, где его будет искать компилятор (например, /usr/include), либо это местоположение должно быть указано -Iв командной строке (для gccили g++). Кроме того, вам обычно нужны
исполняющие библиотеки
@MalteSkoruppa хорошо, но что вам нужно для его использования? Поместите это в свои заголовки, нет?
Брайам
@Braiam Err ... что ты спрашиваешь? Послушайте, вопрос ОП заключается в следующем: что мне нужно сделать, чтобы иметь возможность использовать graphic.hбиблиотеку в Ubuntu? Это совершенно ясно. Соответствующий ответ объяснит, какие пакеты необходимы и как их установить (как это делает существующий ответ), и, возможно, какие параметры необходимы в командной строке во время компиляции.
Malte Skoruppa
@MalteSkoruppa ты читаешь тело?
Брайам
Ответы:
31
Есть несколько опций, доступных для графического программирования с использованием Ubuntu.
Использование SDL
Если вы хотите использовать graphics.hна платформе Ubuntu, вам нужно скомпилировать и установить libgraph. Это реализация графического API Turbo C в Linux с использованием SDL.
Он не очень мощный и подходит для качественного применения, но он прост и удобен в обучении.
Теперь распакуйте загруженный libgraph-1.0.2.tar.gzфайл.
Перейдите в извлеченную папку и выполните следующую команду:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.*/usr/lib
Теперь вы можете использовать #include<graphics.h>в Ubuntu и следующую строку в вашей программе:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Вот пример программы, использующей 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;}
Для компиляции используйте
gcc demo.c -o demo -lgraph
Для запуска типа
./demo
Использование OpenGL (через GLUT)
Хотя OpenGL в основном предназначен для 3D-программирования, рисование 2D-форм дает базовую схему и введение в OpenGL и дает представление о том, как начать рисовать объекты в OpenGL.
Чтобы установить GLUT, откройте терминал и наберите sudo apt-get install freeglut3-dev .
Вот простая графическая программа, использующая GLUT
Я использую SDL, но я выполнил все действия, как было сказано, также запустил libgraph, но после запуска программы он внезапно останавливается и завершается с ошибкой [xcb] Неизвестный порядковый номер при обработке очереди
Luzan Baral
какую версию Ubuntu вы используете?
g_p
Я использую Ubuntu 14.04
Luzan Baral
@LuzanBaral, кажется, проблема с GTK, но вы все равно можете запустить программу.
Если вы хотите использовать graphics.h в Ubuntu или любом другом дистрибутиве Linux, тогда я предпочитаю libxbgi. Он может делать почти все, что вы ожидаете от graphics.h для Windows. Вы можете скачать его здесь: http://libxbgi.sourceforge.net/
В противном случае, если вы хотите создать высококлассную графику, вы можете использовать SDL (который в основном предназначен для программирования видеоигр) и OpenGL (который предназначен для 3D-графики). Вы также можете использовать смесь из двух. Одним из примеров является игра briquolo (написание может быть неправильным).
*-dev
пакетами в дистрибутивах Linux) - компилятор не будет загружать его для вас. Во-вторых, этот заголовочный файл должен находиться либо в каком-то стандартном месте, где его будет искать компилятор (например,/usr/include
), либо это местоположение должно быть указано-I
в командной строке (дляgcc
илиg++
). Кроме того, вам обычно нужныgraphic.h
библиотеку в Ubuntu? Это совершенно ясно. Соответствующий ответ объяснит, какие пакеты необходимы и как их установить (как это делает существующий ответ), и, возможно, какие параметры необходимы в командной строке во время компиляции.Ответы:
Есть несколько опций, доступных для графического программирования с использованием Ubuntu.
Использование SDL
Если вы хотите использовать
graphics.h
на платформе Ubuntu, вам нужно скомпилировать и установитьlibgraph
. Это реализация графического API Turbo C в Linux с использованием SDL.Он не очень мощный и подходит для качественного применения, но он прост и удобен в обучении.
Вы можете скачать его здесь .
Сначала добавьте репозиторий Universe (поскольку некоторые необходимые пакеты недоступны в основном репозитории):
Вторая установка build-essential и некоторые дополнительные пакеты:
Для версий до 18.04:
Для 18.04 : Из Ubuntu 18.04
guile-2.0
работает иlibesd0-dev
устарела. Для этого вам нужно добавить репозиторииxenial
вsources.list
.Добавьте эти строки:
Беги
sudo apt-get update
. Затем установите пакеты, используя:Теперь распакуйте загруженный
libgraph-1.0.2.tar.gz
файл.Перейдите в извлеченную папку и выполните следующую команду:
Теперь вы можете использовать
#include<graphics.h>
в Ubuntu и следующую строку в вашей программе:Вот пример программы, использующей
graphics.h
:Для компиляции используйте
Для запуска типа
Использование OpenGL (через GLUT)
Хотя OpenGL в основном предназначен для 3D-программирования, рисование 2D-форм дает базовую схему и введение в OpenGL и дает представление о том, как начать рисовать объекты в OpenGL.
sudo apt-get install freeglut3-dev
.Скомпилируйте это, используя
gcc demo.c -o demo -lglut -lGL
Запустите его, используя
./demo
источник
Если вы хотите использовать graphics.h в Ubuntu или любом другом дистрибутиве Linux, тогда я предпочитаю libxbgi. Он может делать почти все, что вы ожидаете от graphics.h для Windows. Вы можете скачать его здесь: http://libxbgi.sourceforge.net/
В противном случае, если вы хотите создать высококлассную графику, вы можете использовать SDL (который в основном предназначен для программирования видеоигр) и OpenGL (который предназначен для 3D-графики). Вы также можете использовать смесь из двух. Одним из примеров является игра briquolo (написание может быть неправильным).
ПРОГРАММИРОВАНИЕ СЧАСТЛИВЫХ ГРАФИКИ !!
источник