PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Dla programistów => Wątek zaczęty przez: czarusGG w Listopad 01, 2008, 11:27:11
-
Witam wszystkich, może ktoś mi powie, jak zmusić lazarusa do kompilacji programu by otrymać EXEka który pójdzie pod WM 5 lub WM 6?
-
Spróbuj doinstalować do lazarusa Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1) i zmienić w opcjach kompilacji:
Typ widgetu LCL na "WinCE (beta)"
Docelowy system operacyjny na "WinCE"
Target CPU family na "arm".
Niestety plik wykonywalny ma bardzo bardzo wielkie rozmiary (formatka + jeden przycisk = 9,56MB :|)
Można jeszcze spróbować kompilacje z użyciem komponentów KOL-CE (http://wiki.freepascal.org/KOL-CE) wtedy plik ma zdecydowanie mniejsze rozmiary, aczkolwiek aplikacja nie chciała mi za bardzo działać na PDA (w menedżerze zadań pokazywało, że aplikacja jest uruchomiona, ale nie wyświetlało żadnej formatki), zapewne trzeba chwilę się pobawić w konfigurację.
-
NIE ma tak wielkich rozmiarów, forma + przycisk daje 1.35MB, a nie prawie 10. Poza tym praktycznie nie rozrasta się w miarę dodawania kontrolek. Na koniec można projekt pociągnąć UPXem i zajmie 350kB co już jest akceptowalne na PDA. :)
Aha, polecam wersję 0.9.24 zamiast 26, działa szybciej chociaż ma mniejszą funkcjonalność.
-
Na wersji 0.9.2.6 z FPC w wersji 2.2.2, po dodaniu samego przycisku do formatki, bez żadncy zmian w ustawieniach kompilatora i w kodzie źródłowym wyszło 9,54MB. Później zobaczę jak wygląda to z wersją 0.9.2.4. Spróbuję pozmieniać ustawienia kompilacji i po odchudzać UPX'em i strip'em.
-
Przed chwilą sprawdziłem dokładnie:
wersja 24
Czysta forma + button = 1338kB
Po spakowaniu UPXem 3.0.3 kompresją LZMA = 278kB
Więc wielkość pliku jest dobra, oczywiście przy używanie komponentów pełnych, a nie w wersji budowania dynamicznej kontrolki, wtedy spada do kilku kB.
Przestrzegam też przed użyciem zasobów w wersji z końcówką 25, cały dzień walczyłem z programem zanim doszedłem, ze to ta wersja działała źle.
Przykład programu z Lazarusa:
http://pdaclub.pl/forum/index.php?topic=99886.0
:)
-
W 0.9.26 po "odchudzeniu" strip'em i spakowaniu UPX'em wyszło mi ~374kB, w wersji 0.9.24 po tych operacjach wyszło 274kB :evil:.
Jakich parametrów używasz do pakowania UPX'em?
-
Pewnie tych samych, a poważnie to
--LZMA
Ta kompresja wychodzi najlepiej.
-
Ja kiedyś odpalalem Lazarusa, ale nie z tego exe i jedyne co mi się udało to skompilować pustą formatkę lub cały program, ale to z opisywaniem kontrolek w kodzie, a nie z edytorem wizualnym form. Teraz zainstalowałem ten exe 0.9.26 na moim wcześniejszym Lazarusie, zmieniłem poprawnie ustawienia i przy tworzeniu aplikacji z formą za każdym razem mam błąd - żadnej z bibliotek nie widzi (w uses). Problem ze ścieżkami czy nadal nie da się używać w pełni środowiska z formami w Lazarusie na PPC?
-
Teraz zainstalowałem ten exe 0.9.26 na moim wcześniejszym Lazarusie, zmieniłem poprawnie ustawienia i przy tworzeniu aplikacji z formą za każdym razem mam błąd - żadnej z bibliotek nie widzi (w uses).
Tzn. zainstalowałeś tego Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1) na swoją poprzednią wersję lazarus'a? Dobrze myślę?
Jeżeli tak, to niby ma prawo nie działać bo teoretycznie ten Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1) powinien zostać zainstalowany na "zwykłym" (http://downloads.sourceforge.net/lazarus/lazarus-0.9.26-fpc-2.2.2-win32.exe?modtime=1223295926&big_mirror=1) lazarusie w tej samej wersji.
-
OK, wywalę to, co mam obecnie (choć było dużo roboty - kiedyś trzeba było ręcznie kopiować biblioteki i wpisywać ścieżki), bo skoro są działające paczki to i tak może wyjść tylko na lepsze :)
-
Dalej jest problem, tej samej natury - nie znajduje żadnej z bibliotek podstawowych (Interfaces, Forms), więc nie da się skompilować. Zainstalowałem zwykły 0.9.26 i w tej samej ścieżce ten Wince... zminiłem ustawienia wg postu
Spróbuj doinstalować do lazarusa Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1) i zmienić w opcjach kompilacji:
Typ widgetu LCL na "WinCE (beta)"
Docelowy system operacyjny na "WinCE"
Target CPU family na "arm".
Niestety plik wykonywalny ma bardzo bardzo wielkie rozmiary (formatka + jeden przycisk = 9,56MB :|)
Można jeszcze spróbować kompilacje z użyciem komponentów KOL-CE (http://wiki.freepascal.org/KOL-CE) wtedy plik ma zdecydowanie mniejsze rozmiary, aczkolwiek aplikacja nie chciała mi za bardzo działać na PDA (w menedżerze zadań pokazywało, że aplikacja jest uruchomiona, ale nie wyświetlało żadnej formatki), zapewne trzeba chwilę się pobawić w konfigurację.
i nic
-
Poprawna konfiguracja lazarusa pod WM:
(http://k750i.republika.pl/lazarus/lazarus1.jpg)
(http://k750i.republika.pl/lazarus/lazarus2.jpg)
(http://k750i.republika.pl/lazarus/lazarus3.jpg)
Zaznaczyłem na czerwono, które parametry nalezy zmienić, na screenach są ustawione wartości docelowe dla WM.
-
Zrobiłem to i mam nadal ten sam błąd. Zauważyłem, że nie mam jednej rzczy na screenie, mianowicie tej grupy "Kod" w zakładce "Kod", więc nie mogę zmienić na Mały (-Og), ale ta opcja raczej nie ma znaczenia.
Napisane: Grudzień 04, 2008, 19:07:59
Do tego zamiast "wince" mam "wince (beta)", ale to też chyba nie ma znaczenia, reszta tak samo :sleepy:
-
Proszę o wytłumaczenie łopatologiczne, jak mam zainstalować Lazarusa ,
abym mogła kompilować programiki dla PDA,
czyli np.:
1. instaluję Lazarusa wersja taka i taka,
2. fpc - wersja taka i taka, coś jeszcze jeżeli potrzeba,
3. ustawiam "ptaszki" w odpowiednich miejscach jak kilka postów wyżej jest opisane
i cieszę się możliwością pisania programików
z góry dziękuję za takowy przewodnik
uszanowanie
AniaS
-
1. Zainstalować Lazarus'a. Najnowsza oficjalna wersja to 0.9.26 z kompilatorem fpc 2.2.2.. lazarus-0.9.26-fpc-2.2.2-win32.exe (http://downloads.sourceforge.net/lazarus/lazarus-0.9.26-fpc-2.2.2-win32.exe?modtime=1223295926&big_mirror=1)
2. Doinstalować kompilator i biblioteki dla WindowsaCE. Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1)
3. Skonfigurować Lazarusa, tak jak było to opisane parę wypowiedzi wyżej.
4. Pisać, kompilować... :)
5. W przypadku niezadowalającego rozmiaru pliku wykonywalnego, można go odchudzić za pomocą narzędzi:
-strip, za pomocą wydania polecenia w konsoli:
arm-wince-strip.exe --strip-all <ścieżka do pliku wykonywalnego>
-upx, poleceniem:
upx.exe --lzma <ścieżka do pliku wykonywalnego>
(pliki arm-wince-strip.exe i upx.exe domyślnie znajduje się w folderze lazarus\fpc\2.2.2\bin\i386-win32).
-
1. Zainstalować Lazarus'a. Najnowsza oficjalna wersja to 0.9.26 z kompilatorem fpc 2.2.2.. lazarus-0.9.26-fpc-2.2.2-win32.exe (http://downloads.sourceforge.net/lazarus/lazarus-0.9.26-fpc-2.2.2-win32.exe?modtime=1223295926&big_mirror=1)
2. Doinstalować kompilator i biblioteki dla WindowsaCE. Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe (http://downloads.sourceforge.net/lazarus/Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe?modtime=1223295939&big_mirror=1)
3. Skonfigurować Lazarusa, tak jak było to opisane parę wypowiedzi wyżej.
4. Pisać, kompilować... :)
5. W przypadku niezadowalającego rozmiaru pliku wykonywalnego, można go odchudzić za pomocą narzędzi:
-strip, za pomocą wydania polecenia w konsoli:
arm-wince-strip.exe --strip-all <ścieżka do pliku wykonywalnego>
-upx, poleceniem:
upx.exe --lzma <ścieżka do pliku wykonywalnego>
(pliki arm-wince-strip.exe i upx.exe domyślnie znajduje się w folderze lazarus\fpc\2.2.2\bin\i386-win32).
Dziękuję, poszło,
trochę "dużawe", ale można prościutkie rzeczy pisać.
AniaS
-
Odpowiadając nie musisz cytować - po co?