Создание кроссплатформенных приложений Delphi

Я скачал Lazarus, но работал и с Embarcadero Delphi IDE. У меня вопрос о создании кроссплатформенных приложений Delphi.

Как я могу собрать их в среде win32? Я прочитал вики с сайта Lazarus, где объясняется, как это сделать, но я все еще не понимаю. Можно ли собрать и скомпилировать приложение в среде win32 для Linux и MacOS? Если есть возможность, может кто-нибудь пошагово объяснить, как именно это сделать.

РЕДАКТИРОВАТЬ: Я думаю, настало время поговорить о новой версии XE2 IDE Delphi :)

Спасибо


person evilone    schedule 13.01.2011    source источник
comment
FPC / Lazarus ‹› Delphi, неважно, насколько он совместим. Прямо сейчас вы не можете создавать кроссплатформенные приложения Delphi (IMHO Prims - это не Delphi, несмотря на его название ...), пока Embarcadero не предоставит свой кроссплатформенный продукт (планируется, но еще не доступен)   -  person    schedule 13.01.2011
comment
Идсадон, злой человек спросил не об этом.   -  person RBA    schedule 13.01.2011
comment
Лучше всего задать этот вопрос на форуме Lazarus. Я уверен, что кто-то из них вам поможет.   -  person Wodzu    schedule 13.01.2011
comment
до сих пор не получил ответа, который удовлетворил бы мои потребности ...   -  person evilone    schedule 14.01.2011
comment
Обсуждение невыпущенного XE2 было бы неконструктивным. Если у вас возникнут конкретные вопросы после его выпуска, стоит их задать. Возрождать вопрос почти 9-месячной давности - нет.   -  person Ken White    schedule 01.09.2011
comment
XE2 использует новую библиотеку FireMonkey для разработки вне Windows, которая не связана с VCL / LCL. Порт XE2 win64 основан на vcl, хотя   -  person Marco van de Voort    schedule 15.10.2011


Ответы (3)


Хотя кросс-компиляция для целей, отличных от Windows, возможна (и не так уж сложно), привыкание к fpc / lazarus и кросс-компиляция за один первый шаг - это слишком далеко. Это связано с тем, что Linux не является очень однородной целью, и работа с этим вариантом требует некоторого понимания того, как библиотеки и компоновка работают в Linux. Это побеждает загружаемые одной кнопкой настройки кросс-компиляции для «общего» Linux. Я знаю, что такие штучки с одной кнопкой, которые работают из коробки для всех, были бы великолепны, но этого просто не произойдет (или только для очень ограниченных комбинаций дистрибутивов и версий).

Кросс-компиляция с помощью FPC не является чрезвычайно сложной или ракетной задачей, но количество жаргона и деталей может ошеломить непосвященных людей, а без базовых знаний трудно диагностировать проблемы в результате незначительных ошибок конфигурации.

Я рекомендую сначала ознакомиться с Lazarus / FPC, а уже потом совершать скачок кросс-компиляции. (и уже упомянутый buildfaq называет некоторые причины).

Итог: установите lazarus в Windows и начните портировать свое приложение. Если это удастся, начните использовать установку Linux (или виртуальную машину), чтобы ознакомиться с Linux и Lazarus под ним. Для тестирования вам в любом случае понадобится установка Linux.

Только после этого начинайте думать о кросс-компиляции, чтобы ускорить процесс.

person Marco van de Voort    schedule 15.01.2011

То, о чем вы просите, уже существует на сайте lazarus wiki, вам необходимо прочитать эти статьи.

person RRUZ    schedule 13.01.2011
comment
Я написал, что не понимаю этот текст вики lazarus, и если кто-нибудь может объяснить мне это шаг за шагом. Мне не нужна информация о том, как писать кросс-платформенный код, но руководство по сборке для Linux и т. Д. - скомпилированные файлы не являются исполняемыми, но совместимы с Linux. - person evilone; 13.01.2011
comment
@evilone, некоторые уже размещенные ссылки представляют собой пошаговые инструкции. вы должны попытаться следовать инструкциям, и если у вас возникнет particular проблема, вы можете задать ее еще раз здесь, в StackOverflow. - person RRUZ; 13.01.2011
comment
@PRUZ, скажем, вы хотите скомпилировать Linux-вариант своего приложения из Windows: ссылка на кросс-компиляцию говорит вам, что это немного сложно, прочтите BuildFaq. Авторитетная версия BuildFaq - это PDF, но это отсканированный документ, из-за которого у вас текут глаза, поэтому я предполагаю, что все будут читать HTML-версию. В HTML-версии есть короткий абзац о том, как кросс-компилировать Lazarus из Windows в Linux, с этим прекрасным предупреждением в конце This should build a Linux lazarus. However most likely, it will bomb out missing some library.... - person Cosmin Prund; 13.01.2011
comment
@PRUZ, я ценю ссылки, так как я сам собираюсь бороться с этой проблемой, но вики lazarus фактически не включает необходимую информацию, чтобы сделать возможной кросс-компиляцию windows-to-linux. - person Cosmin Prund; 13.01.2011
comment
Buildfaq вообще не сканируется. Понятия не имею, как у вас появилась эта идея. - person Marco van de Voort; 14.01.2011

CodeTyphon - мощный Lazarus / FPC в один клик простой установочный пакет для кроссплатформенной нативной разработки. Он уже поддерживает 4 хоста ЦП / ОС (Win32, Win64, Linux32, Linux64) и 16 целевых ЦП / ОС (arm-Wince, arm-Linux, arm-Embedded , arm-gba, arm-nds, i386-Win32, i386-Linux, i386-FreeBSD, i386-Haiku, x86_64-Win64, x86_64-Linux, x86_64-FreeBSD, powerpc-Linux, powerpc64-Linux, sparc-Linux, sparc -Солярис). Некоторые из них поддерживаются в Lazarus / FreePascal, но другие еще не интегрированы в CodeTyphon. Я уже упоминал, что это бесплатно? Один код, чтобы управлять ими всеми ;-)

Дело в том, что вам не нужно тратить дни на настройку кроссплатформенной среды, поскольку кто-то уже проделал за вас тяжелую работу.

person avra    schedule 13.01.2011
comment
avra, здесь написано, что «Этот проект имеет лицензию: Freeware». - person RBA; 13.01.2011
comment
этот проект может облегчить вам жизнь благодаря установке кроссплатформенной цепочки с использованием FPC / Lazarus - person Arnaud Bouchez; 13.01.2011
comment
поэтому, если вы так много знаете об этом проекте, расскажите, пожалуйста, как я могу создать приложение Linux из среды Windows, тогда - person evilone; 13.01.2011
comment
Я знаю о проекте ровно столько, сколько мне нужно. Вы не проверили ссылку, которую я дал? Оттуда одна из ссылок ведет на pilotlogic.com/codetyphon/help, где у вас есть пример кросс-сборки для WinCE (тема 7.1 Cross-Build для WinCE). То же самое и для других систем. - person avra; 17.01.2011