Strona 1 z 1
Pascal tryb graficzny
: 09 gru 2009, 20:45
autor: snekkar
Witam serdecznie.
Mam projekt do napisania i przydałby mi sie tryb graficzny w pascalu ale nie wiem jak to zrobic... dolaczam biblioteke libvga ale dostaje taki oto komunikat
Kod: Zaznacz cały
fpc "grafika.pas" (w katalogu /home/bartek/workspace/Roboczy)
Free Pascal Compiler version 2.2.4-3 [2009/06/04] for x86_64
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling grafika.pas
Fatal: Can't find unit libvga used by grafika
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
Kompilacja nie powiodła się
bardzo prosze o pomoc... i prosze w miare prosto bo linuxa uzywam od nie dawna
Odp: Pascal tryb graficzny
: 09 gru 2009, 20:54
autor: macer
Konsola:
Polecam stronę
http://packages.ubuntu.com/, a dokładniej pakiet znalazłem
tu(trafiłem z googla

)
Ja nie zajmuję się pascalem a pakiet już był:shock:...ale możesz spróbować
Jak widać pakiet zawiera plik "libvga.so"

Odp: Pascal tryb graficzny
: 09 gru 2009, 22:02
autor: snekkar
niestety to nie pomoglo...
a czy kompilatorowi nie trzeba podawac jakiejs ścieżki do tej biblioteki??
Odp: Pascal tryb graficzny
: 09 gru 2009, 22:22
autor: macer
Podasz polecenie do kompilatora jakiego użyłeś? //sorry teraz zauważyłem
Może skojarze jaki to kompilator i coś znajdę...
A poza tym, do bibliotek dynamicznych(czy tam shared) w /usr/lib
chyba nie trzeba podawać nic dodatkowego do kompilatora...więc to chyba nie to...
Chyba coś znalazłem...
Spróbuj zmienić(w /usr/lib) libvga.1.4.2.so na libvga.so.
Lub konsola...
Kod: Zaznacz cały
cd /usr/lib
ln -s libvga.so.1.4.2 libvga.so
EDIT:
A jak to nie zadziała, to spróbuj dodać do kompilatora
Odp: Pascal tryb graficzny
: 09 gru 2009, 22:39
autor: snekkar
nic nie pomaga...
po wywolaniu z konsoli kompilatora
kompilator to fpc i w katalogu
Kod: Zaznacz cały
/usr/lib/fpc/2.2.4/units/x86_64-linux/svgalib
jest svgalib ale z rozszerzeniem.o
Odp: Pascal tryb graficzny
: 09 gru 2009, 23:28
autor: jankro
Cześć!
Aby mieć plik libvga.so w katalogu /usr/lib/ należy zainstalować pakiet:
libsvga1-dev
Pozdrawiam!
Odp: Pascal tryb graficzny
: 10 gru 2009, 16:15
autor: macer
jankro,
To chyba też będzie ta biblioteka...
Ale w spisie plików pakietu libsvga1 ten plik też jest(tylko z wersją w nazwie).
snekkar
Jak masz z rozszerzeniem .o, to prościej być nie może
To znaczy chyba musisz skompilować tak(mam nadzieję że niczego nie namieszałem

)
Kod: Zaznacz cały
fpc "grafika.pas" -c /usr/lib/fpc/2.2.4/units/x86_64-linux/svgalib/svgalib.o
Chyba zadziała jeśli fpc jest z kolekcji gcc, bo nie wiem
Chociaż, chyba pomyliłem składnię polecenia...
Odp: Pascal tryb graficzny
: 10 gru 2009, 18:54
autor: snekkar
nie jestem pewien co pomoglo ale chyba instalacja paczki svgalib1-dev. thx jankro
macer, probowalem tego co napisales ale nie dziala... ale wielkie dzieki za chec pomocy
mam jescze jeden problem...
teraz wpisuje w kodzie initgraph i nie wiem jak sciezke mam podać do sterownika grafiki...
Odp: Pascal tryb graficzny
: 10 gru 2009, 19:01
autor: macer
Podasz trochę kodu?
Może coś znajdę...
Odp: Pascal tryb graficzny
: 10 gru 2009, 19:10
autor: snekkar
kodu?? hehe

oto co mam:
Kod: Zaznacz cały
program grafika;
uses svgalib,crt;
var
GraphDriver,GraphMode:smallint;
begin
GraphDriver:=0;
GraphMode:=0;
initgraph(GraphDriver,GraphMode,'');
closegraph;
end.
a takie wywala bledy
Kod: Zaznacz cały
fpc "grafika.pas" (w katalogu /home/bartek/workspace/Roboczy)
Free Pascal Compiler version 2.2.4-3 [2009/06/04] for x86_64
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling grafika.pas
grafika.pas(9,10) Error: Identifier not found "initgraph"
grafika.pas(10,11) Error: Identifier not found "closegraph"
grafika.pas(12) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
Kompilacja nie powiodła się
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
czytalem gdzies ze w sciezce (3 argument) nie trzeba nic podawac jesli nie wykorzystuje sei Borlandowskich czcionek
a jak usune initgraph to skompiluje ale jest takie ostrzezenie, co to moze znaczyc...?
Kod: Zaznacz cały
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
Odp: Pascal tryb graficzny
: 10 gru 2009, 19:57
autor: warlock24
[quote="snekkar"]kodu?? hehe

oto co mam:
Kod: Zaznacz cały
initgraph(GraphDriver,GraphMode,'');
closegraph;
Kod: Zaznacz cały
grafika.pas(9,10) Error: Identifier not found "initgraph"
grafika.pas(10,11) Error: Identifier not found "closegraph"
czemu zakłądasz że w module svgalib istnieją zdefiniwane funkcje initgraph i closegraph? Przeglądam dokumentację tej biblioteki i ich tam nie widzę
lista funkcji w bibliotece svgalib
http://www.freepascal.org/docs-html/pac ... dex-5.html
Odp: Pascal tryb graficzny
: 10 gru 2009, 20:06
autor: snekkar
to mozesz mi podpowiedziec jak zainicjalizowac tryb graficzny?? czy inna biblioteke trzeba??
Odp: Pascal tryb graficzny
: 10 gru 2009, 20:28
autor: warlock24
snekkar pisze:to mozesz mi podpowiedziec jak zainicjalizowac tryb graficzny?? czy inna biblioteke trzeba??
Pacalem zajmowałem się bardzo dawno temu ale wydaje mi się że
kod który ty napisałeś powinien korzystać z modułu graph.
Kod: Zaznacz cały
program grafika;
uses graph,crt;
var
GraphDriver,GraphMode:smallint;
begin
GraphDriver:=0;
GraphMode:=0;
initgraph(GraphDriver,GraphMode,'');
closegraph;
end.
powyższy kod prawdopodobnie skompilowałby się tylko w Turbo Pascal'u i tylko w windows - coś mi się znaje że w free pascalu tego modułu nie ma
Jeżeli chcesz do wyświetlania grafiki użyć svgalib to najprostszy program wyglądałby tak
Kod: Zaznacz cały
program grafika;
uses svgalib,crt;
begin
vga_init();
vga_setmode(G320x200x256);
vga_setcolor(4);
vga_drawpixel(10, 10);
twój kod rysujący linie i takie tam
vga_setmode(GTEXT);
end.
kompilacja w terminalu
uruchomienie skompilowanego programu
Uwaga!!! SvgaLib to archaiczna technologia wyświetlania grafiki, której już nikt nie używa, a do uruchomienia programów ją wykorzystujących trzeba być rootem dlatego sudo przed nazwą programu
Odp: Pascal tryb graficzny
: 11 gru 2009, 14:17
autor: snekkar
dziekuje
