Lazarus + КПК
Модератор: Модераторы
Lazarus + КПК
Кто-нибудь программировал для КПК? Может ли Lazarus мне в этом помочь?
Да.
Я пробовал. Делал базу данных DEF кодов.
Выложил сюда http://4pda.ru/forum/index.php?act=ST&f=6&t=20942
Я пробовал. Делал базу данных DEF кодов.
Выложил сюда http://4pda.ru/forum/index.php?act=ST&f=6&t=20942
-
divinusproject
- новенький
- Сообщения: 49
- Зарегистрирован: 16.05.2006 08:25:02
- Откуда: Барнаул
- Контактная информация:
Посмотри здесь
http://www.freepascal.org/wiki/index.php/WinCE_port
http://wiki.lazarus.freepascal.org/Windows_CE_Interface
будут вопросы, обращайся
http://www.freepascal.org/wiki/index.php/WinCE_port
http://wiki.lazarus.freepascal.org/Windows_CE_Interface
будут вопросы, обращайся
- alu
- новенький
- Сообщения: 33
- Зарегистрирован: 15.01.2007 11:54:14
- Откуда: Саратов
- Контактная информация:
Меня тоже интересует портирование одного приложения на КПК.
По ссылка выше скачать эмулятор не получилось (ссылки битые, убрал microsoft архивы).
1. где достать эмулятор КПК?
2. как запускать Lazarus на эмуляторе (и нужно ли это)?
3. как отлаживать приложения, если оно собирается на ПК, а запускается на КПК?
4. какие сложности могут возникнуть с портирование графического (рисование графических примитивов на канве) приложения на КПК (не равносильно это полному переписыванию программы?)?
Для КПК не писал ни разу, если у кого будут еще советы, буду рад выслушать.
По ссылка выше скачать эмулятор не получилось (ссылки битые, убрал microsoft архивы).
1. где достать эмулятор КПК?
2. как запускать Lazarus на эмуляторе (и нужно ли это)?
3. как отлаживать приложения, если оно собирается на ПК, а запускается на КПК?
4. какие сложности могут возникнуть с портирование графического (рисование графических примитивов на канве) приложения на КПК (не равносильно это полному переписыванию программы?)?
Для КПК не писал ни разу, если у кого будут еще советы, буду рад выслушать.
alu писал(а):Меня тоже интересует портирование одного приложения на КПК.
По ссылка выше скачать эмулятор не получилось (ссылки битые, убрал microsoft архивы).
1. где достать эмулятор КПК?
2. как запускать Lazarus на эмуляторе (и нужно ли это)?
3. как отлаживать приложения, если оно собирается на ПК, а запускается на КПК?
4. какие сложности могут возникнуть с портирование графического (рисование графических примитивов на канве) приложения на КПК (не равносильно это полному переписыванию программы?)?
Для КПК не писал ни разу, если у кого будут еще советы, буду рад выслушать.
1. - на сайте макрософта, погляди вот эту статью " Эмуляторы: Windows Mobile на домашнем", там подробно расписано что где взять, как поставить и настроить.
http://www.ladoshki.com/161-articles-%D ... %D0%B5.htm
2,3. - Lazarus на эмуляторе запускать нет необходимости, запускаеш на раб.машине, пишеш и отлаживаеш приложение, компилиш под КПК, переносишь на КПК и смотриш как там работает.
ЗЫ: ихмо это был мой путь ... может еще чтонить, что посоветует
Есть порт gdb для WinCE. И даже с Лазарусом работает - после компиляции автоматически копирует исполняемый файл на устройство через Active Sync там запускает и дебажит, а с Лазаруса можно управлять. Но лично у меня оно сильно тормозило - один шаг со строчки на строчку программы мог длиться до полуминуты. Потому делаю как yser
yser писал(а):2,3. - Lazarus на эмуляторе запускать нет необходимости, запускаеш на раб.машине, пишеш и отлаживаеш приложение, компилиш под КПК, переносишь на КПК и смотриш как там работает.
ЗЫ: ихмо это был мой путь ... может еще чтонить, что посоветует
Подскажи как скомпилировать код под КПК? Если можно, поподробнее плиз! Я уже 2 недели мучаюсь и ни чего не выходит!
уже достаточно времени прошло и точно не скажу, но приблизительно так:
- первым делом нужно поставить кросс-компилятор для arm (Lazarus-0.9.XX-fpc-2.X.X-cross-arm-wince-win32.exe)
- запускаеш лазарус, бросаеш на форму кнопку, компилиш и смотриш результат
- если устраивает, заходиш в меню "проект"\"параметры компиляции"
-- на первой закладке в пункте "библиотека виджетов LCL (другое)" выбираеш "wince ..."
-- на третьей закладке в группе "Целевая платформа" выбираеш
---- в пункте "операционная система" - "WinCE"
---- в пункте "целевое семейство процессоров" - "arm"
- закрываеш окно "параметров компиляции"
- компилиш проект
- полученный экзешник переносиш на КПК
- на КПК запускаеш и наслаждаешся
- первым делом нужно поставить кросс-компилятор для arm (Lazarus-0.9.XX-fpc-2.X.X-cross-arm-wince-win32.exe)
- запускаеш лазарус, бросаеш на форму кнопку, компилиш и смотриш результат
- если устраивает, заходиш в меню "проект"\"параметры компиляции"
-- на первой закладке в пункте "библиотека виджетов LCL (другое)" выбираеш "wince ..."
-- на третьей закладке в группе "Целевая платформа" выбираеш
---- в пункте "операционная система" - "WinCE"
---- в пункте "целевое семейство процессоров" - "arm"
- закрываеш окно "параметров компиляции"
- компилиш проект
- полученный экзешник переносиш на КПК
- на КПК запускаеш и наслаждаешся
Не насладился
Сделал, что ты сказал, в результате Лазарус ругается на отсутствие Interface.
Сделал, что ты сказал, в результате Лазарус ругается на отсутствие Interface.
Stud писал(а):Не насладился![]()
Сделал, что ты сказал, в результате Лазарус ругается на отсутствие Interface.
вооо, ведь так и чувствовал что что-то забыл ... и точно (выделил жирным шрифтом) :
...
Но это касается обычного компилятора, с кросс-компилятором есть некоторые особенности:
Во-первых, в меню Окружение, Настройки окружения указываем: <Ваш диск>pp\bin\i386-win32\ppcrossarm.exe.
Во-вторых, если используется LCL, необходимо её собрать для платформы arm-wince, для этого открываем меню Инструменты, Настройка сборки Lazarus, указываем в качестве целевой ОС — wince, а в качестве процессора — arm. Дальнейшие действия такие же, как и при обычной пересборке.
.....
это вот выдержка из статьи "Программирование под Windows Mobile на Free Pascal "
http://www.freepascal.ru/article//freep ... 830083000/
Все, разобрался. Сделал еще проще, скачал Lazarus-0.9.26-fpc-2.2.2-cross-arm-wince-win32.exe и все заработало! Спасибо за советы.
Вобщем так:
Имеется:
1)lazarus-0.9.26.2-fpc-2.2.2-win32.exe
2)lazarus-0.9.26.2-fpc-2.2.2-cross-arm-wince-win32.exe
Больше не имеется ничего.
Ставлю первый, затем в ту же папку второй. В путях к проекту добавляю lcl\Interface\wince.
На вкладке код ставлю wince и arm.
При попытке компилить lcl выдает
E:\lazarus\lcl\interfaces\wince\wincewscalendar.pp(65,29) Error: Call by var for arg no. 1 has to match exactly: Got "Pointer" expected "tagINITCOMMONCONTROLSEX"
E:\lazarus\lcl\interfaces\wince\wincewscalendar.pp(134) Fatal: There were 1 errors compiling module, stopping
При попытке компилить Lazarus под WinCE выдает
lazarus.pp(116,1) Fatal: Can't find unit Interfaces used by Lazarus
Пробовал все виды компиляции(Advanced) не помогло.
Далее вообще оставляю попытки поднять WinCE, компилю под Win32/64 пустой проект...и вылетает окно Missing Packages, где написано вот что: the following packages failed to load: inetbase, see Project -> Project inspector.
Удаляю. Ставлю заново 1) затем 2). Создаю проект где по клику на батоне в tEdit появляется надпись. Работает под 32/64, но при попытке скомпилить под WinCE открывает code editor и выделяет следующее:
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Объясните пожалуйста эти ошибки))) и собственно помогите сделать так чтобы наконец заработало WinCE
Имеется:
1)lazarus-0.9.26.2-fpc-2.2.2-win32.exe
2)lazarus-0.9.26.2-fpc-2.2.2-cross-arm-wince-win32.exe
Больше не имеется ничего.
Ставлю первый, затем в ту же папку второй. В путях к проекту добавляю lcl\Interface\wince.
На вкладке код ставлю wince и arm.
При попытке компилить lcl выдает
E:\lazarus\lcl\interfaces\wince\wincewscalendar.pp(65,29) Error: Call by var for arg no. 1 has to match exactly: Got "Pointer" expected "tagINITCOMMONCONTROLSEX"
E:\lazarus\lcl\interfaces\wince\wincewscalendar.pp(134) Fatal: There were 1 errors compiling module, stopping
При попытке компилить Lazarus под WinCE выдает
lazarus.pp(116,1) Fatal: Can't find unit Interfaces used by Lazarus
Пробовал все виды компиляции(Advanced) не помогло.
Далее вообще оставляю попытки поднять WinCE, компилю под Win32/64 пустой проект...и вылетает окно Missing Packages, где написано вот что: the following packages failed to load: inetbase, see Project -> Project inspector.
Удаляю. Ставлю заново 1) затем 2). Создаю проект где по клику на батоне в tEdit появляется надпись. Работает под 32/64, но при попытке скомпилить под WinCE открывает code editor и выделяет следующее:
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Объясните пожалуйста эти ошибки))) и собственно помогите сделать так чтобы наконец заработало WinCE
Сносишь Лазарь под чистую!!!!!!!!! удалаешь папку Лазаря!!!!!!!!!! Устанавливаешь последний снапшот с http://snapshots.lazarus.shikami.org/lazarus/ и по верх устанавливаешь от туда же сборку для ARM. Создаешь cmd файл в папке лазаря и туда прописываешь
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe lcl LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd packager\registration
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd ..
cd ..
cd ideintf
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd ..
cd components\synedit
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
меняешь путь к FPC на свой, последняя 2.2.5 версия а ты ставишь свою если другая версия. Запускаешь cmd после этого создаешь ЗАНОВО проект из меню. Отключаешь в параметрах компилятора на вкладке "Связывание" "Генерировать инфу для GDB" и "выдавать номера строк в ошибках" и компилируешь его. После этого перекидываешь в КПК или в эмулятор и смотришь результат.
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe lcl LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd packager\registration
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd ..
cd ..
cd ideintf
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
cd ..
cd components\synedit
C:\lazarus\fpc\2.2.5\bin\i386-win32\make.exe LCL_PLATFORM=wince PP=ppcrossarm.exe CPU_TARGET=arm OS_TARGET=wince
меняешь путь к FPC на свой, последняя 2.2.5 версия а ты ставишь свою если другая версия. Запускаешь cmd после этого создаешь ЗАНОВО проект из меню. Отключаешь в параметрах компилятора на вкладке "Связывание" "Генерировать инфу для GDB" и "выдавать номера строк в ошибках" и компилируешь его. После этого перекидываешь в КПК или в эмулятор и смотришь результат.
-
DeeMOONger
- незнакомец
- Сообщения: 6
- Зарегистрирован: 15.05.2012 08:32:14
- Откуда: Нижний Новгород
- Контактная информация:
Господа, объясните новичку, как собрать эту самую LCL. Где и что должно быть установлено? Какие пути указывать в путях? Какой компилятор при сборке в окружении юзать: ppccrossarm? Еще какие-то особенности есть? Как описано в wiki не прокатывает - валятся ошибки. Там написано: указать WinCE и Arm, а дальше как обычно при сборке. А как это "Как обычно"??? Короче, я в шоке...
p.s. У меня Lazarus Win32 и поверх Lazarus Cross Arm
Разобрался. Вопрос снят.
p.s. У меня Lazarus Win32 и поверх Lazarus Cross Arm
Разобрался. Вопрос снят.
