- Установка Lazarus под Linux
- Предисловие
- Ссылки на ресурсы
- Установка
- Запуск Lazarus
- Сборка Lazarus
- Ошибки в ходе сборки Lazarus
- Заключение
- Lazarus для linux под windows
- 1. Кросскомпиляция на Windows.
- 2. Кросскомпиляция на Linux.
- Блог Александра Башкирова
- Lazarus – свободная среда программирования для Linux и Windows
Установка Lazarus под Linux
Костин Иван (shtorman@mail.ru)
Предисловие
В попытках установить и настроить Lazarus можно разбить лоб и сломать клавиатуру, но теперь можно обойтись и без членовредительства. Большинство материала по установке среды основывается на советах с форумов, а так же материалов на иностранном языке, статей же описывающих алгоритм установки и «тюнинга» единицы. После недели кропотливых трудов представляю Вам статью по установке среды разработки Lazarus и настройке русского языка в ней. Установка проводилась в ОС Mandriva 2008 LAR Edition из rpm-пакетов. Статья стала результатом прочтения таких статей как:
- Установка Lazarus и Free Pascal Compiler в Linux и Windows (26.08.2004 Смирнов Сергей)http://freepascal.ru/;
- Lazarus IDE(Ivan A-R 11.10.2006 16:51)http://iar.spb.ru/.
Ссылки на ресурсы
Установка
Перед установкой самой среды разработки Lazarus, необходимо установить следующие пакеты:
- fpc-2.2.0-0.i386.rpm — компилятора FPC;
- fpc-src-2.2.0-071105.i386.rpm – исходники FPC.
После этого можно запустить установку lazarus-0.9.24-0.i386.rpm. В ходе проверки зависимостей, инсталятор попросит доустановить еще несколько пакетов:
Все они есть на инсталяционном диске Mandriva 2008 LAR Edition.
В результате установки в Меню KDE, в разделе Разработка->Среды разработки, появиться пункт Lazarus.
Запуск Lazarus
При запуске в интерфейсе программы мы вместо названий пунктов меню наблюдаем иероглифы:
Рис. 1. Первый запуск среды Lazarus после установки.
В общем виде командная строка должна выглядеть так:
Теперь окно приложения выглядит более сносно, есть русский текст, но выполнять такие манипуляции каждый раз не очень удобно.
Рис. 2. Запуск среды Lazarus после установки языковой локалии в русский текст.
При дальнейшем рассмотрении все же не отображаются русские символы в заголовках форм, и в некоторых других формах самой среды попрежнему отображаются иероглифы.
Рис. 3. Проблемы с отображением русских символов в заголовке форм
Сборка Lazarus
Для решения этих проблем необходимо пересобрать Lazarus с поддержкой необходимого интерфейса (gtk, gtk2, win32/win64, qt, carbon . ).
Для этого открываем меню Интерфейс->Настройка сборки Lazarus
Рис. 4. Окно «Настройка сборки Lazarus»
Переключившись на вкладку «Расширенные параметры сборки» можно настроить то, что мы будем cобирать, а что нет, и с использованием какого интерфейса.
Рис.5. Вкладка «Расширенные параметры сборки»
Сборка Примеров не является жизненно важной для среды разработки в целом, но занимает время. Так, что сборку примеров можно отключить, если они понадобятся их можно будет собрать позднее. Здесь мы выбираем gtk 2 и отключаем Примеры (Action = None).
После чего нажимаем «Собрать».
Ошибки в ходе сборки Lazarus
В ходе сборки может возникнуть ошибка:
/usr/bin/ld: cannot find-lgdk_pixbuf-2.0
/usr/lib/lazarus/ide/lazarus.pp(114,1) Error: Error while linking
Для решения проблемы необходимо установить пакет libgdk_pixbuf2.0_0-devel, который потребует установку следующих пакетов:
В ходе сборки может возникнуть ошибка:
/usr/bin/ld: cannot find-lgtk-x11-2.0
/usr/lib/lazarus/ide/lazarus.pp(114,1)Error: Error while linking
Для решения проблемы необходимо установить пакет libgtk+2.0_0-devel, который потребует установку следующих пакетов:
Заключение
После удачной сборки Lazarus перезапуститься. Закройте приложение и запустите его самостоятельно из Меню КДЕ, Разработка->Среды разработки, пункт меню Lazarus.
Рис.6. Окно среды Lazarus после сборки с gtk 2.
Lazarus для linux под windows
Итак, наконец-то я добрался и до кросскомпиляции. Не то, чтобы мне было это сильно надо (я по-прежнему считаю, что надежнее собирать проект на той ОСи, для которой он предназначен), но тут просто стало интересно. Про кросскомпиляцию на Wiki (особенно под Windows) рассказано в довольно общих чертах и не добавляет ясности в этом вопросе 🙂
Различают Host-платформу (сборка Лазаруса, на которой собирается проект) и Target-платформу (ОСь определенной разрядности, для которой собирается проект). Я опишу процесс сборки кросскомпилятора для Linux_i386 (Target) на win-x32 сборке Лазаруса (Host) и для Windows x32 (Target) на линуксовой i386 сборке Lazarus.
1. Кросскомпиляция на Windows.
1. Для начала скачиваем отсюда и запускаем последний релиз замечательной программки fpcupdeluxe нужной разрядности и соответствующей ОСи
2. Определяем директорию, куда будут скачаны исходники и собраны бинарные файлы (напр., D:\Archive\development\fpcup)
3. В окне «FPC version» выбираем «trunk» и жмакаем кнопку «Only FPC» (если Lazarus у вас еще не установлен, можно установить заодно и его, выбрав соответственно тип сборки в окне «Lazarus version» и нажав «Install/Update FPC + Laz»)
4. После установки FPC (и Лазаруса, если его не было) необходимо скачать сорцы и библиотеки, а также и скомпилировать бинарники для кросскомпиляции
Выбираем требуемую разрядность и ОСь (напомню, я задался целью собрать кросскомпилятор для Linux-i386) и жмем кнопку «Install cross-compiler».
В процессе закачки и последующей сборки fpcupdeluxe ругнется на отсутствие утилит для сборки кросскомпилятора и предложит их скачать («The building of a crosscompiler failed due to missing cross-tools. Fpcupdeluxe can try to download them if available! Do you want to continue?»)
Соглашаемся и повторяем процесс сборки. Он довольно длительный по времени, поэтому стоит запастись терпением. По окончанию процесса в информационной панели можно будет увидеть, куда установились бинарники кросскомпилятора:
5. Теперь настраиваем Лазарус. Забегая вперед, скажу, что для кросскомпиляции лучше использовать отдельную сборку среды, чтобы не мучиться с переключением (как сделать, чтобы IDE сохраняла настройки в «своей» папке).
Для указания путей к бинарникам открываем настройки Tools —> Options —> Environment —> Files
- для Compiler executable выбрать D:\Archive\development\fpcup\fpc\bin\i386-win32\ppcross386.exe
- для FPC source directory выбрать D:\Archive\development\fpcup\fpcsrc
- для «Make» executable выбрать D:\Archive\development\fpcup\fpc\bin\i386-win32\make.exe
Для настройки отладчика идем сюда Tools —> Options —> Environment —> Debugger
- выбрать GNU debugger (gdb)
- выбрать путь D:\Archive\development\fpcup\fpcbootstrap\gdb.exe
Закрываем окно с настройками среды.
6. И, наконец, создаем новый проект, открываем его настройки Project —> Project Options —> Compiler options —> Paths, где указываем путь к библиотекам для сборки проекта
- для Libraries (-Fl) выбрать d:\development\fpcup\cross\lib\i386-linux (отобразится ..\..\..\development\fpcup\cross\lib\i386-linux)
Указываем целевые ОСь и разрядность процессора, для которых компилируется проект Project —> Project Options —> Compiler options —> Congig and Target
- для Target OS (-T) выбрать Linux
- для Target CPU family (-P) выбрать i386
Если после указания Libraries (-Fl) автоматически не установилась ссылка на виджеты Target-ОСи, то устанавливаем их вручную Project —> Project Options —> Compiler options —> Additions and Overrides
- в комбобоксе «LCLWidgetType» выбрать «Value «GTK2».
Теперь компилируем проект (лучше по + , иначе получим формальную ошибку отладчика). В окне сообщений после окончания процесса сборки получаем положительный результат
Проверяем полученный бинарник на целевой ОСи
2. Кросскомпиляция на Linux.
В качестве линуксовой ОСи я опишу установку на Debian 9. Рабочей директорией для fpcupdeluxe будет /home/leyba/development/fpcup.
1. Устанавливаем svn-клиент, если он еще не установлен
2. Если у вас не установлены пакеты для компиляции Lazarus, то сначало будет выдано предупреждение об отсутствии отладчика
fpcupdeluxe: WARNING: LazarusNativeInstaller (ConfigModule: lazarus): No GNU gdb found./home/leyba
а затем fpcupdeluxe прервет установку с сообщением об отсутствии библиотек
(9015) Linking ../lazarus
/usr/bin/ld: cannot find -lgdk-x11-2.0
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/bin/ld: cannot find -lgtk-x11-2.0
/usr/bin/ld: cannot find -lpango-1.0
/usr/bin/ld: cannot find -lcairo
/usr/bin/ld: cannot find -lpangocairo-1.0
Поэтому последовательно качаем
и ставим пакет x11proto-print-dev
Затем и остальные пакеты одной строкой
(для Debian 9)
3. Ставим компилятор (и если необходимо, то и Lazarus) аналогично тому, как это описано для Windows
4. Теперь устанавливаем кросскомпилятор аналогично описанному для Windows, но с той разницей, что нужно будет выбрать опции CPU = i386, OS = Windows
5. Открываем настройки Lazarus Tools —> Options —> Environment —> Filesи устанавливаем следующие опции
- для Compiler executable выбрать /home/leyba/development/fpcup/fpc/bin/i386-linux/fpc.sh (установлено по умолчанию)
- для FPC source directory выбрать /home/leyba/development/fpcup/fpcsrc (установлено по умолчанию)
- для «Make» executable выбрать /usr/bin/make (установлено по умолчанию)
6. Для указания отладчика идем сюда Tools —> Options —> Environment —> Debuggerи устанавливаем опции
- выбрать GNU debugger (gdb)
- выбрать путь /usr/bin/gdb (установлено по умолчанию)
7. Создаем новый проект и в опциях проекта Project —> Project Options —> Compiler options —> Congig and Targetуказываем ОСь и разрядность CPU
- для Target OS (-T) выбрать Win32
- для Target CPU family (-P) выбрать i386
а также набор виджетов (напомню, мы планируем создать кросскомпиляцию приложения для win_x32) — идем сюда Project —> Project Options —> Compiler options —> Additions and Overrides
- в комбобоксе «LCLWidgetType» выбрать «Value «win32»
Все, теперь можно сохранить проект, а затем скомпилировать его по + (но не запускать по — получите ошибку отладчика!)
Проверяем полученный бинарник на целевой ОСи
Как можно заметить, кросскомпиляция на линуксе во многом проще, чем на Windows.
Блог Александра Башкирова
ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Lazarus – свободная среда программирования для Linux и Windows
Данная статья устарела. Оставлена для истории.
Когда-то давным-давно (лет, наверное, 8..10 назад) я программировал на Delphi. Программировать мне откровенно нравилось, правда, через некоторое время от GUI программирования я отошел, сконцентрировавшись в основном на WEB программировании. Немалую роль в этом повороте сыграло то, что Delphi мягко говоря, не совсем бесплатная среда, а очень даже платная. (И ряд других обстоятельств;)). Но это — предистория.
Некоторое время назад, совершенно случайно, наткнулся на свободную (open source) реализацию языка Pascal. Называется это чудо FreePascal, и живет по адресу http://www.freepascal.org/ Возможности довольно широки: декларируется возможность разработки под все возможныеWindows, Linux, FreeBSD, MacOS и т.д.
Цитирую с сайта FreePascal:
Free Pascal (aka FPK Pascal) is a 32 and 64 bit professional Pascal compiler. It is available for different processors: Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM. The discontinued 1.0 version also supports the Motorola 680×0. The following operating systems are supported: Linux, FreeBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, Win64, WinCE, OS/2, Netware (libc and classic) and MorphOS.
У проекта есть русскоязычный сайт: http://www.freepascal.ru/
Дальше, в процессе изучения этих сайтов, было выяснено, что в мире существует свободная (open source) среда разработки под FreePascal, которая называется Lazarus. Lazarus живет по адресу http://www.lazarus.freepascal.org/ Установка Lazarus на Windows показала, что эта среда полностью аналогична «той самой Delphi». Именно аналогична, т.к. в тестовом приложении было обнаружено несколько незначительных отклонений от того, что я помнил с delphi-УстановкА вот про установку Lazarus на Linux можно написать отдельный трактат. То есть, вроде как все «встает», но не с первого раза — библиотеки требуются точно той версии, с которой работает Lazarus. В итоге, гугление привело меня к отличной статье «Установка Lazarus на Linux», с помощью которой, а также с помощью http://www.rpmfind.net , Lazarus был установлен и опробован (кстати, несколько требуемых библиотек я взял от Мандривы).
Судя по всему, при помощи Lazarus можно создавать кроссплатформенные приложения
Абсолютно точно можно создавать порты одного и того же приложения под Windows и Linux
Код, генерируемый Lazarus (Linux версия), довольно объемен: простая форма с 2 элементами и одним обработчиком события «вести» 16Мб. На мой взгляд — многовато! Возможно, можно оптимизировать.
Будут еще впечатления — обязательно поделюсь.