Kniznica Graph v C++
Mame vsak aj dovolene robit v C++. A mna by zaujimalo ci existuje takato kniznica aj pre C++. Cital som, ze v starom Turbo C bola presne taka kniznica graph.h a conio.h.
Je nejaka takato kniznica pre kompilator c++( g++, gcc)? (skusal som graph, graph.h, a pod.)
(Linux aj win veria by sa mi hodila)
Pre pridávanie komentárov sa musíte prihlásiť.
allegro je pre Linux, Windows, DOS pre ktory je kompilator DJGPP.
allegro je v C teda chces to v C alebo v C++ ??? to je rozdiel !!!
ja by som ostal pri pascale aovsem urcite nie Turbo Pascale.... skusil by som freepascal. a kniznicu GraphiX. skus to presadit v skole...
Freepascal ma niekolko vyhod a je aj pre Windows:
1. je multiplatformovy
2. je na neho viacej veci
3. stale sa vyvija
4. nema problemy s pametou pri vecsich strukturach oproti Turbo Pascalu.
5. podpora sice slaba ale predcsa Object Pascalu - konkretne implementacia Delphi ale fakt na nizkej urovni.
Tu je ta kniznica GraphiX:
http://www.cg.tuwien.ac.at/~knapp/graphix_old/gxframe.html
Free pascal mame uz davno povoleny. (Pracujem v Gvime s free pascalom na win.).
Avsak na linuxe mi akosi nechche najst unit Graph. Neviem preco asi nie je nainstalovany.
Mame samozrejme dovolene C++ a mozeme tam robit so standardnimi kniznicami (iostream, vector, string, algorithm, ...). No na grafiku neviem nic najst. Z dovodu, ze na maturitach je nutne vediet robit v pascale graficku s kniznicou graph, hladam preto nejaku podobnu kniznicu do c++, aby boli prikazy rovnake.
Allegro je podobna Graph?
(Lebo som ju nasiel v Dev-C++ Dev Pack a viem ju z tamad nainstalovat na win)
A je nejaka ekvivalentna kniznica ku kniznici graph v pascali?
A nejaka funkcna aj na win aj na linuxe ekvivaletne s rovnakimi prikazmi aj pre C++?
ale mozno by islo stiahnut stary turbo pascal pre dos ktory je v dnesnej dobe zdarma (pozor, verzia turbo pascal od borlandu, nie borland pascal, jedna sa o dva odlisne produkty) a pustit to cez napriklad freedos v qemu (vmware alebo niecom podobnom), popripade v dosboxe.
ps.: skoda ze odpovedam k pascalu a nie k c alebo c++. inak netusim ci vysla nejaka zadarmova verzia c/c++ od borlandu. rovnako netusim ci niekdo spavil port kniznice graph do linuxu. nieco ako conio (pre readln/writeln/gotoxy/...) bolo pred vela rokmi portovane aj na linux ale uz len z pohladu povodnej kniznice ktora predpokladala ze textovy mod je striktne 80x25 sa jednalo o zbytocnu robotu. conio nepoznalo iny textovy mod, mozno este okrem 40x25 ale v normalnych operacnych systemoch si v grafike roziahnes okno s textovym modom podla potreby. ano aj v saskovi zvanom win95/98 alebo windows nt zahrnujacom aj xp, v os/2 od ibm alebo v hociktorom unix like os vratane linuxu, solarisu, hpux, bsd, mac os x a desiatkach dalsich.
(Doma mam aj dokonca o tom knihu - o celej graph.h kniznici pre turbo c a unit graph pre turbo pascal).
A nie je mozne pouzit tuto kniznicu Graph.h do C++ (aspon na win/dos)?
A co to bol vlastne za Turbo C kompilator?
http://www.linuxos.sk/forum/11372/index.html
Je tam prerobena Grafika a nejak funguje aj na linuxe cez fpc.
No nieco podobne nie je urobene uz pre C++?
Bohuzial ide mi to len pod win.
http://www.uniqueness-template.com/devcpp/
na tejto stranke je popisane ako rozbehat graphics.h pod dev-c++.
Ja som oba subory stiahol, tam kde pisu a ked budem komplilovat s parametrami (aj cez gvim):
c++ -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 test.cpp
tak mi to bezi. Konecne. Pod windowsom uz to ide a mozem to pouzivat bez problemov v skole.
No ostava mi este problem doma s linuxom.
Skusal som to aj pod linuxom nasledovne:
1. stiahol som ten hlavickovy subor http://www.uniqueness-template.com/devcpp/graphics.h do /usr/include/
2. stiahol som .a lib kniznicu http://www.uniqueness-template.com/devcpp/libbgi.a do /usr/lib/
skusil som to skompilovat ale pisalo, ze nevie najst subor windows.h
tak som v stiahnutom hlavickovom subore graphics.h ten #include zakomentoval
potom mi pisalo chybu:
pali@Pali:~$ c++ -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 grafika.cpp
/usr/bin/ld: cannot find -lgdi32
collect2: ld returned 1 exit status
tak som zistil ze tieto kniznice sa nachadzaju v baliku deb mingw32-runtime.
Kedze sa nachadzaju v zlozke /usr/i586-mingw32msvc/lib/ tak som spustil kompilaciu s parametrom -L:
c++ -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 -L"/usr/i586-mingw32msvc/lib/" grafika.cpp
no bohuzial to neslo, vypisovalo chybu:
Tuto chybu mi vypisovalo aj na windowse ak som nedal tie parametre -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
Da sa nejak tato chyba opravit? Aby to behalo aj na linuxe? Co je to vlastne za chyba?
A tato win kniznica mi stale nejde.
Zaujima ma: co mi to vlastne za chybu vypisuje?
grafika.cpp:(.text+0x30): undefined reference to ...
co to ma znamenat?
Ale pridam podrobnejsi:
subor grafika.cpp:
kniznice libgdi32.a libcomdlg32.a libuuid.a liboleaut32.a libole32.a su v priecinku /usr/i586-mingw32msvc/lib/ a su instalovane z deb balika mingw32-runtime zo standartnych ubuntu apt repozitarov
kniznica libbgi.a sa nachadza na stranke http://www.uniqueness-template.com/devcpp/libbgi.a > dal som ju do aktulaneho priecinka a aj do /usr/lib/
hlavickovy subor graphics.h sa nachadza na stranke http://www.uniqueness-template.com/devcpp/graphics.h > dal som ho tiez do aktulaneho priecinka a aj do /usr/include/
--> tento subor som trochu upravil (vid vysie)
http://zaher14.blogspot.com/2007/01/graphicsh-in-linux.html
nainstaloval som to. Bez chyb.
Potom som skompiloval ten ukazkovy subor z tej stranky. Bez chyb.
Spustil som a vypisalo chybu: tak som hladal kniznicu kde sa nainstalovala a nasiel som ju v /usr/local/lib. Tak som spravil odkaz do /usr/lib a uz mi to konecne funguje.
Takze funkcnost graphics.h pod linuxom aj win mozeme uzavriet, lebo uz bez problemov funguje.
Ale stale mi nefunguje unit graph pod fpc
stiahol som deb balik http://packages.ubuntu.com/hardy/fp-units-gfx a vsetky jeho zavislosti.
V komentari balika pisu, ze je tam podpora unitu Graph
Nainstaloval som vsetky tie baliky (aj zavislosti) a nefunguje to.
Pri kompilacii fpc vypisuje chybu: preco to nejde? ved v komentari balika pisu, ze je pre to podpora
vypis test1.pas:
-static