Other Languages => Russian => Topic started by: zuzabrik on February 24, 2020, 02:31:11 pm
Title: Помощь с кросс-компиляцией
Post by: zuzabrik on February 24, 2020, 02:31:11 pm
Установил себе Lazarus с офсайта на Linux Mint 19.3 x64. Работает как часы, но я так и не разобрался как сделать кросс-компиляцию. Так чтобы на Linux можно было собирать как бинарники под Linux, так и под Windows.
Поспрашивав у гугла что за файл .ppu он хочет и вообще... Ни черта не разобрался :) В конце концов установил Lazarus под wine и пишу там, но для меня это неудобно. Помогите сделать нужные шаги.
Судя по всему проблема в том что у меня в /usr/lib/fpc/3.0.4/units есть только папка /x86_64-linux. То есть нет нужных библиотек для сборки под Windows... Но где их взять я так и не понял. А может и не в этом дело.
Title: Re: Помощь с кросс-компиляцией
Post by: avra on February 24, 2020, 02:44:57 pm
Самый простой способ с помощью FpcUpDeluxe: https://wiki.freepascal.org/fpcupdeluxe
Title: Re: Помощь с кросс-компиляцией
Post by: skalogryz on February 24, 2020, 02:49:45 pm
Сложный способ описан здесь: https://wiki.freepascal.org/Cross_compiling_for_Win32_under_Linux/ru
Title: Re: Помощь с кросс-компиляцией
Post by: BSaidus on February 24, 2020, 03:10:12 pm
Самый простой способ с помощью FpcUpDeluxe: https://wiki.freepascal.org/fpcupdeluxe
:) YEP !
Title: Re: Помощь с кросс-компиляцией
Post by: mig-31 on February 24, 2020, 04:42:26 pm
Привет. Я кросс-компиляцией из Linux под Windows не пользуюсь. Пользуюсь лозунгом Lazarus "Write once compile anywhere". Может вам подойдет этот способ. Тут об этом можно почитать https://wiki.freepascal.org/Multiplatform_Programming_Guide (https://wiki.freepascal.org/Multiplatform_Programming_Guide)
Код пишу под Linux (CentOS7, OpenSuse 15.1 Qt4, Qt5) с учетом особенностей кроссплатфоменности. Потом открываю код под Windows и компилирую. Обычно требуется одна, две правки. Теститровать основательно работоспособность кода под Windows мне в основном не надо, потому что программа обычно работает под Linux (автоматизация, измерения, сбор данных с ПЛК и т.д.) а на Windows - это всего лишь просмотрощик данных.
Решать вам как проще.
Title: Re: Помощь с кросс-компиляцией
Post by: zuzabrik on February 24, 2020, 07:12:08 pm
Спасибо за ответы, обязательно ознакомлюсь со всеми ссылками :) Что касается последнего совета. В целом я думал об этом, но так как опыта большого в таких делах нет, боязно что придется много переписывать заново при смене платформы :) С другой стороны у меня пока нет необходимости выходить за рамки тех компонентов что дает Лазарус.
Title: Re: Помощь с кросс-компиляцией
Post by: zoltanleo on February 24, 2020, 08:47:18 pm
Мой опыт http://leybabronstain.ucoz.com/blog/ispolzovanie_krosskompiljacii_v_lazarus/2018-03-03-24
зы. осторожно, куча рекламы
Title: Re: Помощь с кросс-компиляцией
Post by: Otto on February 24, 2020, 10:29:17 pm
Hello zoltanleo. Congratulations, your guide is done so well that you could insert it as well as it is within the official Lazarus website. (https://wiki.lazarus.freepascal.org/fpcupdeluxe). If you decide to do so, could I try to translate it into Italian?
Sorry for the mistakes I used an automatic translator.
Greetings. Otto. ____
Привет zoltanleo. Поздравляем, ваш гид делается так хорошо, что вы могли бы вставить его, а также это в рамках официального сайта Lazarus. Если вы решите сделать это, могу ли я попытаться перевести его на итальянский язык?
Извините за ошибки, которые я использовал автоматический переводчик.
Приветствия. Otto.
Title: Re: Помощь с кросс-компиляцией
Post by: zoltanleo on February 25, 2020, 04:41:51 am
Hello zoltanleo. If you decide to do so, could I try to translate it into Italian?
of course yes ;)
Title: Re: Помощь с кросс-компиляцией
Post by: Otto on February 25, 2020, 02:01:54 pm
@ zoltanleo.
Спасибо.
Thank you very much.
Greetings. Otto.
Title: Re: Помощь с кросс-компиляцией
Post by: sash on March 04, 2020, 10:58:53 am
Имею схожую с автором ситуацию: установлен 2-ой экземпляр Lazarus под wine, но в него почти никогда не захожу, а использую только lazbuild. Над проектами работаю в linux, когда надо собрать под windows - использую shell-script типа такого:
Title: Re: Помощь с кросс-компиляцией
Post by: Seenkao on March 28, 2020, 02:34:11 pm
Мучался долго, но всё-таки удалось запустить.
https://youtu.be/4oxssDB3JJE - программы, которые нужны или которые использовал https://youtu.be/3tB_5mA2rO0 - и само создание APK-файла.
Проблемы при создании. Не советую пользоваться FPC 3.0.4 пользуйтесь версиями выше. В 3.0.4 походу недоработки где-то и скомпилированный файл может не запустится.
Проблемы с компиляцией в лазурусе. Если не компилируется файл, выдаёт ошибку, а считаете, что сделали всё верно, удалите *.lpi файл и попробуйте заново все настройки прописать.
Ещё одна проблема, вы может забыли положить скомпилированный *.so файл в нужную папку и/или включить загрузку этого файла в пакет.
Выявилась ещё одна проблемка. Работает данный метод только на Windows, на Linux проявляются проблемы с JNI. Поэтому, если кто знает как решить их, просьба указать. Я недавно на Linux. )))
Title: Re: Помощь с кросс-компиляцией
Post by: Awkward on March 28, 2020, 02:54:39 pm
Если б хотя бы в комментариях к ролику поместил сам список софта, вообще было бы круто :)
Title: Re: Помощь с кросс-компиляцией
Post by: Seenkao on March 28, 2020, 08:34:01 pm