18-11-2017

Подключение к Lazarus новой версии компилятора FPC

Вариант № 1

Все испытания проводились на ОС Ubuntu 10.10 и 10.04. И некоторые требования к пакетам а так же связанные с ними ошибки будут отражены в данной статье!

Скачиваем

В убунте 11 может потребоватся пакет gawk .

svn checkout http://svn.freepascal.org/svn/fpc/trunk fpctrunk cd fpctrunk svn up -r 16795

Распаковываем

  • Все операции будут производится в домашней директории /home/user/

Создадим каталог для утилиты кросскомпиляции.

mkdir ~/fpc_tools

И Извлечем содержимое binutils-2.20.tar.gz в каталог ~/fpc_tools

Далее Создадим каталог для среды разработки и компилятора.

mkdir ~/lazarus/ cd ~/lazarus/ mkdir ~/fpc/ cd ~/fpc/ mkdir ~/2.6.0 cd cd ~/lazarus/ mkdir ~/lazarus

И соответственно извлечем туда компилятор и среду. в результате у нас получатся папки

lazarus/fpc/2.6.0/ lazarus/lazarus/

Зависимости

  • Не уверен что может и понадобится но на всякий поставим
sudo apt-get install -y alien libncurses5-dev libXp-dev libgtk2.0-dev

Временный компилятор

  • Для сборки проектов нам может потребоваться временный компилятор fpc пойдет любой даже который лежыт в репозитории.
sudo apt-get install fp-utils

Установка и Конфигурирование BinUtils

  • Соберем и установим утелиту кросскомпиляции
cd ~/fpc_tools/binutils-2.20 ./configure --target=arm-linux --disable-werror make sudo make install mkdir ~/lazarus/binutils ln -s /usr/local/bin/arm-linux-ar ~/lazarus/binutils/ar ln -s /usr/local/bin/arm-linux-ld ~/lazarus/binutils/ld sudo mv /usr/local/bin/arm-linux-as /usr/local/bin/arm-linux-as_org
  • Сборка и компиляция может продолжатся от 2-5 минут.

Далее немного подправим загрузчик

sudo gedit /usr/local/bin/arm-linux-as
  • Вставим вот этот код
#!/bin/sh /usr/local/bin/arm-linux-as_org -meabi=5 $@

Это необходимо что бы приложение загружалось через eabi v5 в случае необходимости можете выставить v4

  • Далее добавим права и создадим символьную ссылку
sudo chmod +x /usr/local/bin/arm-linux-as ln -s /usr/local/bin/arm-linux-as ~/lazarus/binutils/as

Компиляция FPC из исходников

  • Установим самокомпилирующийся компилятор из исходников! Да, я не ошибся, ибо компилятор сам себя собирает из исходников :)

Компиляция и установка займет некоторое время примерно 2-10мин.

cd ~/lazarus/fpc/2.6.0 make all OPT='-gl -O3p3' PP=/usr/bin/ppc386 (add NOGDB=1 at the end if asked) sudo make install PP=/usr/bin/ppc386 PREFIX=/usr/ (add NOGDB=1 at the end if asked) sudo rm /usr/bin/ppc386 sudo ln -s /usr/lib/fpc/2.6.0/ppc386 /usr/bin/ppc386 sudo mkdir /usr/share/fpcsrc/ sudo ln -sf ~/lazarus/fpc/2.6.0 /usr/share/fpcsrc/2.6.0 sudo /usr/lib/fpc/2.6.0/samplecfg /usr/lib/fpc/2.6.0/ /etc

Сделаем в FPC возможность кросс компиляции для ARM-Linux

  • Теперь установим предскомпилированную версию компилятора для АРМ. Перейдем в каталог со скаченной версией fpc-2.5.1.arm-linux извлечем содержымое и обязательно сделаем символьную ссылку иначе при попытке скомпилировать выйдет ошибка что платформа не поддержывается.
cd /media/DATA/Downloads/ sudo cp fpc-2.5.1.arm-linux.tar.gz /usr/ cd /usr/ sudo tar -xvf fpc-2.5.1.arm-linux.tar.gz sudo rm -f fpc-2.5.1.arm-linux.tar.gz sudo ln -s /usr/lib/fpc/2.5.1/ppcrossarm /usr/bin/ppcrossarm

Создание пользовательского fpc.cfg

  • Добавим персональные настройки для компилятора
gedit ~/.fpc.cfg
  • Вставим этот код, не забывая поменять <user> на имя пользователя в вашей системе.
#INCLUDE /etc/fpc.cfg #DEFINE DEMOTEST #DEFINE DEMOTEST1 #DEFINE LAZARUS -Fu/usr/lib/fpc/2.6.0/units/$fpctarget/* -Fl/usr/lib/fpc/2.6.0/units/$fpctarget/rtl/ -a -Sd -Xd -Xs -O- #IFDEF CPUARM -Xr/usr/lib/fpc/2.6.0/units/arm-linux/rtl/ -Xr/home/predator/lazarus/fpc/libcross -XR/home/predator/lazarus/fpc/ -darm -Tlinux #ENDIF
  • Сохраним и закроем gedit

Лазарус

Перейдем в каталог лазаруса и соберем его!

cd ~/lazarus/lazarus make clean all

Запуск лазаруса

sudo ./lazarus

Вариант № 2

Как известно, разработка FPC и Lazarus идёт параллельно, и далеко не всегда тестовые сборки Lazarus используют последнюю версию FPC. Так, в данный момент в SVN-релизах Lazarus используется FPC 2.4.3, тогда как на официальном сайте Free Pascal доступна тестовая версия нового компилятора FPC 2.5.1. Если вы хотите подключить к Lazarus последнюю версию FPC, сделайте следующее:

1. Скачайте по ссылкам [один] и [два] сборку последней версии FPC и её исходный код соответственно (файлы fpc-2.5.1.i386-win32.zip и fpc.zip).

2. В папке C:\lazarus\fpc создайте новый каталог 2.5.1.

3. Посмотрите внимательное, какие подкаталоги у вас лежат в каталоге C:\lazarus\fpc\2.4.3 и положите точно такие же подкаталоги из скачанных архивов в новый каталог C:\lazarus\fpc\2.5.1.

4. Скопируйте в каталог c:\lazarus\fpc\2.5.1\bin\i386-win32 недостающие файлы из соответствующего каталога от старой версии компилятора (в частности gcc и т.п. – около 20-30 файлов). Обязательно скопируйте файл fpc.cfg.

Таким образом вы получите папку с новой версией компилятора, готовой к работе. Далее правим fpc.cfg, заменяя во всех путях название папки с версией компилятора (2.4.3 на 2.5.1).
И последний штрих – идём в настройки Lazarus: Сервис->Параметры->Файлы и в нужных полях меняем пути к компилятору и исходным кодам (опять-таки 2.4.3 на 2.5.1).

Чтобы убедиться, что вы всё сделали правильно, попробуйте откомпилировать пустой проект. Если всё прошло успешно, можете пересобрать Lazarus с новой версией FPC.

Добавить в Мой Мир  Добавить в ВКонтакте.ру  Добавить в Facebook  Добавить в LiveJournal  Добавить в twitter

Первоисточник - http://lazarus.su/other/lazarus-fpc-2-5-1.html

Комментарии (1):

  • Мицуко

    К сожалению, основное отличие Lazarus от Delphi - все-таки чисто программистское. Lazarus не использует локальных кодировок - только Unicode. Соответственно, пытаться обрабатывать на нем русские тексты посимвольно - физически невозможно!!! 7 июня 2012

Добавление комментария

Ваше имя:
Ваше e-mail:

Вы человек? Нажмите на картинку "арбуз":

l1mon
abuz
chunky
bounty
Яндекс.Метрика
Копирование возможно при указании прямой индексируемой гиперссылки
п»ї