Кросскомпиляция

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Кросскомпиляция

Сообщение Frolik » 01.04.2012 15:33:45

Кто-нибудь занимался подобным?
Дано: lazarus 0.9.30.2, fpc2.4.4, ubuntu11.10
Проект отлично собирается в win, собирается и в ubuntu.
Хочу исключить необходимость перегружаться в вин.

fpc пересобрал. Экзешник из простенькой программы делает.
Пытаюсь пересобрать лазарус (библиотека виджетов win32/win64), выдает вот такое
Код: Выделить всё
win32int.pp(27,26) Warning: User defined: Fix implicit pointer conversions
Fatal: Can't find unit Windows used by Win32Int
QuickFixUnitNotFoundPosition unit not found: Win32Int
TExternalToolList.Run Exception: /usr/lib/lazarus/0.9.30/lcl/interfaces/win32/win32int.pp(1,1) Fatal: Can't find unit Windows used by Win32Int
TMainIDE.DoBuildLazarus: Building standard components (LCL, SynEdit, CodeTools) failed.

Если указываю еще и TARGET_OS win32
Код: Выделить всё
Fatal: Can't find unit Contnrs used by Masks
TExternalToolList.Run Exception: /usr/lib/lazarus/0.9.30/lcl/masks.pas(1,1) Fatal: Can't find unit Contnrs used by Masks


Что делать?
Frolik
постоялец
 
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Re: Кросскомпиляция

Сообщение ronin » 01.04.2012 15:48:40

не буду тыкать в бесчисленное_множество_раз_указанные_статьи_по_кросскомпиляции, найдёте без труда в поиске, я решил данный вопрос установкой win версии лазаря под wine, не мучая себя попытками настроить кросскомпиляцию в одной системе

одного я так и не понял до сих пор - как можно собирать (и писАть в том числе) программу для windows под линуксом если при открытии форм в линуксовой версии лазаря все компоненты нафик сползают (меняя высоту и расположение) в зависимости от используемого DE и темы, поэтому я решил не рисковать и выбрал меньшее из зол, если что то надо протестировать в реальных боевых условиях пользуюсь виртуалкой, как то так
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение Frolik » 01.04.2012 16:09:30

Многочисленные статьи, которые я нашел в поиске, не помогли. Инструкция от freepascal.org, не помогла.
Все дело в том, что мысли о кросскомпиляции посетили меня от того, что winxp отказалась устанавливаться под виртуалкой, выдавая синий экран с ошибкой session 3 initialization failed. А под вайном лазарус отказался пересобираться с пакетом zeoslib6.6.6.
Frolik
постоялец
 
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Re: Кросскомпиляция

Сообщение ronin » 01.04.2012 16:18:19

что winxp отказалась устанавливаться под виртуалкой, выдавая синий экран с ошибкой session 3 initialization failed


какая программа для виртуалок? какая версия? какая локальная система?

под вайном лазарус отказался пересобираться с пакетом zeoslib6.6.6.


содержимое ошибок под вайном покажите, может чем поможем ;)
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение Frolik » 01.04.2012 16:42:48

Oracle VM VirtualBox, версию не знаю, но последняя из убунтовского репозитория. Winxp еще на этапе копирования фалов падает в синий экран.

содержимое ошибок под вайном покажите, может чем поможем

C:\lazarus\components\codetools\basiccodetools.pas(1,1) Fatal: Can't find unit AVL_Tree used by BasicCodeTools
Frolik
постоялец
 
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Re: Кросскомпиляция

Сообщение ronin » 01.04.2012 16:57:21

C:\lazarus\components\codetools\basiccodetools.pas(1,1) Fatal: Can't find unit AVL_Tree used by BasicCodeTools


мне помогало указание путей к директориям в файле fpc.cfg (в директории bin папки с fpc)
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение Frolik » 01.04.2012 18:53:15

Составил fpc.cfg. Ошибка ушла, но при пересборке лазаруса вайн виснет наглухо.
Frolik
постоялец
 
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Re: Кросскомпиляция

Сообщение ronin » 01.04.2012 19:56:46

когда лазарь под вайном компилируется, то при ошибке интерфейс зависает, там в окне сообщений должен быть такой круглый значок, и последнее сообщение видно, попробуйте посмотреть о чём ругается, либо как вариант собрать лазарь из командной строки и посмотреть на вывод

p.s. командная строка: wine cmd.exe
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение Frolik » 01.04.2012 23:24:57

Все, я сдался.
Frolik
постоялец
 
Сообщения: 275
Зарегистрирован: 18.08.2011 11:52:32

Re: Кросскомпиляция

Сообщение ronin » 02.04.2012 08:55:16

вчера обновил лазарь из снэпшотов до версии 0.9.31, всё прошло гладко и в windows (на работе) и под wine (дома)

p.s. zeos беру из testing ветки svn (6.6.6 не пробовал)
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение veresk » 06.04.2012 11:27:39

ronin писал(а):одного я так и не понял до сих пор - как можно собирать (и писАть в том числе) программу для windows под линуксом если при открытии форм в линуксовой версии лазаря все компоненты нафик сползают (меняя высоту и расположение) в зависимости от используемого DE и темы, поэтому я решил не рисковать и выбрал меньшее из зол, если что то надо протестировать в реальных боевых условиях пользуюсь виртуалкой, как то так


use "Редактор привязок", Luke! Реальная помощь для извращенцев кросс-компиляторщиков вроде нас. Хотя я и сам проверяю всё-таки на разных системах. Маленький лайфхак: делай на GTK форму, так как там самые идиотские вижеты, в винде будет выглядеть просторнее в любом случае.
veresk
новенький
 
Сообщения: 48
Зарегистрирован: 31.01.2012 12:23:32

Re: Кросскомпиляция

Сообщение ronin » 06.04.2012 14:05:43

use "Редактор привязок", Luke! Реальная помощь для извращенцев кросс-компиляторщиков вроде нас.


проблема не в привязках, проблема в размерах компонентов и их внешнем виде (например высота), выглядит не так как ты ожидаешь, поэтому обеспечение кроссплатформенности в интерфейсе слишком гемморойная вещь, пока не заморачиваюсь

Маленький лайфхак: делай на GTK форму, так как там самые идиотские вижеты, в винде будет выглядеть просторнее в любом случае.


пробовал, убогий интерфейс (gtk2), такого говнеца не надо
ronin
постоялец
 
Сообщения: 174
Зарегистрирован: 27.01.2010 00:14:46

Re: Кросскомпиляция

Сообщение alexs » 07.04.2012 10:18:03

ronin
Почитай http://www.freepascal.ru/article/lazaru ... 217210602/. Всё просто.
А насчёт внешнего вида - после GTK2/3 виндовые контролы смотрятся как что-то рубленное каменным топором и прибитое деревянными гвоздями. Жуть вообщем.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Кросскомпиляция

Сообщение slyubez » 26.07.2016 08:02:48

Апну тему. Коллеги, прошу помощи с кросс-компиляцией - опыта в этом деле ноль.
У меня Лазарь работает на системе Windows x86_64 и компилирует/собирает под нее же. Прошу, если есть подходящий мануал, ткнуть меня, как пересобрать и перенастроить Лазаря для компиляции/сборки под Win32 i386 по возможности без использования всяких виртуалок.

Добавлено спустя 13 минут 29 секунд:
Пробую в параметрах проекта сменить целевую ось и процессор, получаю по лбу:
Компилятор "D:\lazarus_1_6\fpc\3.0.0\bin\x86_64-win64\fpc.exe" не поддерживает целевую платформу i386-win32
slyubez
постоялец
 
Сообщения: 180
Зарегистрирован: 31.03.2015 08:44:07

Re: Кросскомпиляция

Сообщение SSerge » 26.07.2016 08:28:25

slyubez писал(а):перенастроить Лазаря для компиляции/сборки под Win32 i386 по возможности без использования всяких виртуалок


Поставить 32-битный лазарус дополнительно к 64-битному и собирать соответствующие проекты с его помощью, не?
Обязательно мутить кросскомпиляцию, если есть более простое решение?
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 250

Рейтинг@Mail.ru