Czy jest jakiś kompilator oparty na systemie Linux, który obsługuje graphics.hbibliotekę? Chcę wdrożyć programy graficzne, dlatego proszę o informację, czy istnieje takie oprogramowanie.
Co dokładnie musisz wiedzieć? Kompilatory powinny znaleźć wszystkie nagłówki, jeśli umieścisz poprawne ... umm ... słuchacze w pliku źródłowym.
Braiam
@Braiam Kompilator nie znajdzie magicznie pliku nagłówka tylko dlatego, że go uwzględnisz. Po pierwsze, wyraźnie, że plik musi zostać zainstalowany w twoim systemie (zazwyczaj pliki nagłówkowe są dostarczane z *-devpakietami na dystrybucjach Linuksa) - kompilator nie pobierze go za ciebie. Po drugie, plik nagłówkowy musi znajdować się w jakiejś standardowej lokalizacji, w której kompilator będzie go szukał (np. /usr/include), Albo w tej lokalizacji należy podać za -Ipomocą wiersza poleceń (for gcclub g++). Dodatkowo zwykle potrzebujesz bibliotek środowiska uruchomieniowego na etapie łączenia (z wyjątkiem bibliotek zawierających tylko nagłówki) ...
Malte Skoruppa
@MalteSkoruppa dobrze, ale czego potrzebujesz, aby z niego skorzystać? Włóż to do swoich nagłówków, nie?
Braiam
@Braiam Err ... o co pytasz? Spójrz, pytanie OP jest po prostu następujące: co muszę zrobić, aby móc korzystać z graphic.hbiblioteki na Ubuntu? Jest całkowicie jasne. Prawidłowa odpowiedź wyjaśni, jakie pakiety są potrzebne i jak je zainstalować (tak jak istniejąca odpowiedź), a także, jakie parametry są potrzebne w wierszu poleceń w czasie kompilacji.
Malte Skoruppa
@MalteSkoruppa czytasz ciało?
Braiam
Odpowiedzi:
31
Dostępnych jest kilka opcji programowania grafiki przy użyciu Ubuntu.
Korzystanie z SDL
Jeśli chcesz korzystać graphics.hz platformy Ubuntu, musisz ją skompilować i zainstalować libgraph. Jest to implementacja interfejsu API grafiki turbo c w systemie Linux za pomocą SDL.
Nie jest bardzo wydajny i nadaje się do aplikacji o jakości produkcyjnej, ale jest prosty i łatwy w użyciu do celów uczenia się.
Przejdź do wyodrębnionego folderu i uruchom następujące polecenie:
./configure
make
sudo make install
sudo cp /usr/local/lib/libgraph.*/usr/lib
Teraz możesz używać #include<graphics.h>na Ubuntu i następującej linii w swoim programie:
int gd=DETECT,gm;
initgraph(&gd,&gm,NULL);
Oto przykładowy program wykorzystujący 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;}
Aby go skompilować użyj
gcc demo.c -o demo -lgraph
Aby uruchomić wpisz
./demo
Korzystanie z OpenGL (przez GLUT)
Chociaż OpenGL jest w zasadzie stworzony do programowania 3D, rysowanie kształtów 2D stanowi podstawowy zarys i wprowadzenie do OpenGL oraz pomysł, jak rozpocząć rysowanie obiektów w OpenGL.
Aby zainstalować GLUT, otwórz terminal i wpisz sudo apt-get install freeglut3-dev.
Używam SDL, ale zrobiłem wszystkie rzeczy, jak powiedziano, także wbudowany libgraph, ale po uruchomieniu programu zatrzymuje się i kończy nagle z błędem [xcb] Nieznany numer sekwencji podczas przetwarzania kolejki
Luzan Baral
jakiej wersji Ubuntu używasz?
g_p
Używam Ubuntu 14.04
Luzan Baral
@LuzanBaral, Wygląda na problem z GTK, ale nadal możesz uruchomić program.
Jeśli chcesz używać graphics.h w Ubuntu lub innej dystrybucji Linuksa, wolę libxbgi. Może zrobić prawie wszystkie rzeczy, których oczekujesz od grafiki. H dla systemu Windows. Możesz go pobrać stąd: http://libxbgi.sourceforge.net/
W przeciwnym razie, jeśli chcesz zrobić wysokiej klasy grafikę, jesteś tam dla SDL (który jest głównie do programowania gier wideo) i OpenGL (który jest dla grafiki 3D). Możesz także użyć ich mieszanki. Jednym z przykładów jest brykiet gry (pisownia może być niepoprawna).
*-dev
pakietami na dystrybucjach Linuksa) - kompilator nie pobierze go za ciebie. Po drugie, plik nagłówkowy musi znajdować się w jakiejś standardowej lokalizacji, w której kompilator będzie go szukał (np./usr/include
), Albo w tej lokalizacji należy podać za-I
pomocą wiersza poleceń (forgcc
lubg++
). Dodatkowo zwykle potrzebujesz bibliotek środowiska uruchomieniowego na etapie łączenia (z wyjątkiem bibliotek zawierających tylko nagłówki) ...graphic.h
biblioteki na Ubuntu? Jest całkowicie jasne. Prawidłowa odpowiedź wyjaśni, jakie pakiety są potrzebne i jak je zainstalować (tak jak istniejąca odpowiedź), a także, jakie parametry są potrzebne w wierszu poleceń w czasie kompilacji.Odpowiedzi:
Dostępnych jest kilka opcji programowania grafiki przy użyciu Ubuntu.
Korzystanie z SDL
Jeśli chcesz korzystać
graphics.h
z platformy Ubuntu, musisz ją skompilować i zainstalowaćlibgraph
. Jest to implementacja interfejsu API grafiki turbo c w systemie Linux za pomocą SDL.Nie jest bardzo wydajny i nadaje się do aplikacji o jakości produkcyjnej, ale jest prosty i łatwy w użyciu do celów uczenia się.
Możesz go pobrać stąd .
Najpierw dodaj repozytorium Universe (ponieważ niektóre wymagane pakiety nie są dostępne w głównym repozytorium):
Druga instalacja niezbędna do kompilacji i kilka dodatkowych pakietów:
W przypadku wersji wcześniejszych niż 18.04:
Dla 18.04 : Od Ubuntu 18.04
guile-2.0
działa ilibesd0-dev
jest przestarzałe. W tym celu musisz dodać repozytoriaxenial
wsources.list
.Dodaj te linie:
Uruchom
sudo apt-get update
. Następnie zainstaluj pakiety za pomocą:Teraz rozpakuj pobrany
libgraph-1.0.2.tar.gz
plik.Przejdź do wyodrębnionego folderu i uruchom następujące polecenie:
Teraz możesz używać
#include<graphics.h>
na Ubuntu i następującej linii w swoim programie:Oto przykładowy program wykorzystujący
graphics.h
:Aby go skompilować użyj
Aby uruchomić wpisz
Korzystanie z OpenGL (przez GLUT)
Chociaż OpenGL jest w zasadzie stworzony do programowania 3D, rysowanie kształtów 2D stanowi podstawowy zarys i wprowadzenie do OpenGL oraz pomysł, jak rozpocząć rysowanie obiektów w OpenGL.
sudo apt-get install freeglut3-dev
.Skompiluj za pomocą
gcc demo.c -o demo -lglut -lGL
Uruchom za pomocą
./próbny
źródło
Jeśli chcesz używać graphics.h w Ubuntu lub innej dystrybucji Linuksa, wolę libxbgi. Może zrobić prawie wszystkie rzeczy, których oczekujesz od grafiki. H dla systemu Windows. Możesz go pobrać stąd: http://libxbgi.sourceforge.net/
W przeciwnym razie, jeśli chcesz zrobić wysokiej klasy grafikę, jesteś tam dla SDL (który jest głównie do programowania gier wideo) i OpenGL (który jest dla grafiki 3D). Możesz także użyć ich mieszanki. Jednym z przykładów jest brykiet gry (pisownia może być niepoprawna).
PROGRAMOWANIE SZCZĘŚLIWEJ GRAFIKI !!
źródło