W Lazarusie jestem nowy; stworzyłem nową aplikację konsolową za pomocą Plik
->Nowy
->Program
.
Jak dodaję moduł Graphics
, to nie może go odnaleźć.
Co należy ustawić/zmienić aby można było korzystać z tego modułu (dokładniej: potrzebny jest mi dostęp do klasy TBitmap
).
Zamiast
uses
Graphics;
daj
uses
Graphics in 'C:\lazarus\lcl\graphics.pp';
Wtedy doczepia się includowania tego:
{$I graphicsobject.inc}
{$I graphic.inc}
{$I picture.inc}
{$I sharedimage.inc}
{$I sharedrasterimage.inc}
{$I sharedcustombitmap.inc}
{$I rasterimage.inc}
{$I custombitmap.inc}
{$I bitmapcanvas.inc}
{$I pen.inc}
{$I brush.inc}
{$I region.inc}
{$I font.inc}
{$I canvas.inc}
{$I pixmap.inc}
{$I png.inc}
{$I pnm.inc}
{$I jpegimage.inc}
{$I cursorimage.inc}
{$I icon.inc}
{$I icnsicon.inc}
{$I fpimagebitmap.inc}
{$I bitmap.inc}
{$I tiffimage.inc}
{$I gifimage.inc}
Tzn.nie może ich odnaleźć.
daj
uses
Graphics in 'C:\lazarus\lcl\graphics.pp';
Arr, nie obchodź problemu!
Dodaj sobie w inspektorze projektu LCL (albo jakaś jego część) i będzie.
-123oho napisał(a):
daj
uses
Graphics in 'C:\lazarus\lcl\graphics.pp';Arr, nie obchodź problemu!
Dodaj sobie w inspektorze projektu LCL (albo jakaś jego część) i będzie.
Próbowałem.
Znalazło moduł Graphics
, ale brakowało mu m.in.
Undefined symbol: WSRegisterCustomImageList
Undefined symbol: WSRegisterMenuItem
Undefined symbol: WSRegisterMenu
- i dziesiątki więcej *
Dodałem modułInterfaces
; problem niby rozwiązany, ale aplikacja zajmuje wtedy 15 MB :|
Dodałem moduł Interfaces; problem niby rozwiązany, ale aplikacja zajmuje wtedy 15 MB
strip --strip-all project1.exe
i ile wtedy ma. Pewnie po prostu tyle symboli debugujących ew. wyłączone smartlinking.
http://lists.lazarus.freepascal.org/pipermail/lazarus/2009-May/043306.html
Chyba nie ma innego rozwiązania niż dodanie Interfaces.
Po wykonaniu strip
zajmuje już ~1.45 MB.
Jest inny sposób, czy za każdym razem będę musiał wykonywać to `strip`?
Jest inny sposób, czy za każdym razem będę musiał wykonywać to strip?
Ja tam zazwyczaj osiągam rozmiary 12mb bez stripa i dzięki temu dobrze się debugguje. Jest oczywiście opcja żeby zmusić kompilator żeby nie generował symboli debugowania (albo zmniejszył ich ilość), żeby całkowicie wywalić symbole debuggujące jest opcja -Xs (generalnie popatrz sobie na zakładkę 'łączenie' w opcjach projektu, znajdziesz coś dla siebie pewnie).
Po wykonaniu strip zajmuje już ~1.45 MB.
Możesz jeszcze zobaczyć czy pomoże ci -CX i -XX. Mi się udawało dochodzić do 1mb w przypadku pełnej aplikacji z Formami etc. i ~600Kb z UPXem.