Fpc linux как пользоваться

Обновлено: 06.07.2024

Язык программирования Free Pascal является свободным ответвлением от классического языка Pascal, разработанного Никлаусом Виртом в конце 60-х годов. Н. Вирт разработал данный язык для обучения студентов навыкам процедурного программирования. Со временем язык Pascal был сильно развит, возникло множество диалектов данного языка (наиболее известный из них — Turbo Pascal фирмы Borland).

Free Pascal является свободной реализаций языка Pascal (если быть точнее, свободно распространяемый компилятор языка программирования Pascal), поддерживает объектно-ориентированное программирование и может быть использован для написания не только учебных программ, но и более серьезных приложений обработки данных.

Среда программирования Free Pascal

Рассмотрим процесс установки.

2) Для пользователей Linux можно скачать свежий инсталляционный пакет rpm или deb (например, Альт-Линукс использует пакеты rpm, а Ubuntu или Debian — пакеты deb).

Существуют варианты простой установки:

Fpc — это метапакет, включающий в себя собственно сам компилятор и среду разработки (IDE, «оболочка» для редактирования кода, отладки и запуска скомпилированного кода). Команда sudo запускает установку метапакета fpc в режиме администратора, не забудьте ввести правильно пароль.

2) с помощью пакетного менеджера Synaptic. Найдите пакет fpc, отметьте для установки и примените изменения:


Установка Free Pascal через пакетный менеджер Synaptic

Если же вы являетесь обладателем дистрибутива Альт-Линукс Школьный, то вам повезло, Free Pascal уже установлен.

Запуск IDE Free Pascal (IDE — интегрированная среда разработки)

Вызовите терминал и наберите: fp


IDE Free Pascal

Интерфейс очень похож на классический интерфейс среды Turbo Pascal 7.0

Среда разработки Geany

Чтобы упростить процесс создания программы и избавиться от проблемы отображения кириллицы, можно установить свободную среду разработки Geany. Данная оболочка обладает приятным графическим интерфейсом, поддерживает несколько языков программирования (Pascal, C, PHP и др.).

Установка среды разработки Geany

1) с помощью терминала:

2) с помощью пакетного менеджера Synaptic. Процесс установки будет совершенно аналогичен процессу установки метапакета fp

Приведем пример создания простейшей программы, выводящей квадраты целых чисел от 1 до 15.

1. После запуска среды Geany создадим шаблон файла Pascal:


Выбор шаблона Pascal

2. Сохраним текст программы в любой удобной для нас папке. После сохранения окно оболочки будет выглядеть примерно так:


Сохраненный текст с шаблоном pascal

3. Обязательно поменяйте имя программы (латиница, без пробелов), т.к. компилятор выдаст ошибку при компиляции текста в выполняемый код.

4. Напишем текст программы, выводящей квадраты чисел от 1 до 15 и скомпилируем. При компиляции файл текста программы автоматически сохраняется.


Компиляция текущего файла программы

5. Запустим программу нажатием по пиктограмме или с помощью главного меню Сборка→Выполнить:


Результат работы программы

6. В папке, где мы сохраняли текст программы, можно обнаружить файлы с расширением *.pas — текст программы; *.о — откомпилированный файл (объектный файл) и готовый исполняемый файл без расширения (для ОС GNU\Linux), который можно выполнить в терминале.

Среда визуального программирования Lazarus

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

Возможно, вы слышали о Delphi компании Borland — это среда быстрой разработки программ с графическим интерфейсом на языке Object Pascal (в дальнейшем стал называться просто язык Delphi). В чем достоинство такой среды (и других подобных визуальных сред разработки)? Достоинство в том, что программист не заботится о том, чтобы программным путем нарисовать окно приложения, разместить на нем кнопки, списки и другие графические элементы — заботу об этом берет сама среда Delphi; программист занимается непосредственно обработкой различных событий и собственно алгоритмом обработки данных.

Lazarus — свободная (а значит, совершенно бесплатная!) среда разработки программного обеспечения для компилятора языка Free Pascal. Интегрированная среда разработки предоставляет возможность разработки приложений в Delphi-подобном окружении. Причем, есть возможность создания кроссплатформенных приложений, работающих и в операционной системе Windows, и в операционной системе GNU\Linux.

Установка Lazarus

1) с помощью терминала:

2) с помощью пакетного менеджера Synaptic. Ставим галочки напротив программ Lazarus, fp, fpc, fpc-ide

После запуска мы увидим многооконный интерфейс Lazarus, схожий с интерфейсом среды Borland Delphi:

Оригинал: Cross-Platform Development with Free Pascal 2.2.0
Автор: Joost van der Sluis
Дата: 10 сентября 2007
Перевод: Александр Тарасов aka oioki
Дата перевода: 3 октября 2007
Скриншоты взяты из статей Free Pascal , Lazarus Русской википедии

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

Недавно вышел Free Pascal (FPC) версии 2.2.0. Благодаря своей давней истории (первая версия вышла в 1993 году) этот компилятор языка Pascal сегодня является одним из самых примечательных компиляторов с открытым кодом. Каждый день все больше программистов узнают о FPC и начинают разработку своих приложений на Object Pascal. Особенно этому благоприятствует развитие Lazarus, графической среды разработки для FPC, которая содержит расширенный набор средств для разработки графических (GUI) приложений.

В чем сила FPC?

Free Pascal, запущенный из среды cygwin

Многих программистов удивляет возрождение интереса к Pascal. Ведь многие думают, что Pascal - устаревший язык, который больше не используется после того, как давно проиграл войну с C. Тем не менее, FPC достаточно функционален, чтобы быть выбором программистов.
Рисунок 1: Free Pascal, запущенный из среды cygwin

Кросс-платформенность

Самое главное достоинство FPC - это его кросс-платформенность. Разработка этого компилятора начиная с серии 2.0 была сфокусирована именно на возможностях переносимости.

Эта функция устраняет необходимость рутинной работы по написанию сложных Makefile, которые различны для каждой платформы, и должны быть получены с помощью средств типа autoconf и configure. С FPC же программисту не нужно искать различные библиотеки, для портирования достаточно скопировать компилятор и исходный текст проекта на платформу. Очевидно, что также возможна кросс-компиляция с одной платформы (к примеру, Linux) на другую (Windows как самая популярная).

Причина переносимости кода Free Pascal проста: в комплекте предлагается набор кросс-платформенных стандартных библиотек, обходящих различия между Posix и Windows API. Возможно симулировать одну платформу на другой, однако такое решение требует громоздких библиотек и непростой установки, при этом часто программы отмечаются странным поведением и внешним видом на неродной платформе.

Компилятор Free Pascal поставляется с богатым набором библиотек: библиотека RTL (Run-Time Library, библиотека времени выполнения) предоставляет базовую функциональность, такую как доступ к файлам, классы, манипуляции со строками и RTTI (Run-Time Type Information, информация о типах времени выполнения) для создания потоков. Библиотека FCL (Free Class Library, библиотека свободных классов) - объектно-ориентированная библиотека, нацеленная на работу с XML, веб-программирование, взаимодействие с базами данных, обработку изображений и др. Если программист опирается на эти библиотеки и избегает системно-зависимых API, его программа будет работать не только на Linux, но также на Windows, Free BSD, Mac OS X, Windows CE и многих других платформах.

Скриншот Lazarus, IDE для FPC

Очевидно, что прямые указания путей, специфические для какой-либо ОС, например, 'c:\program files' или '/etc/myprog.cfg' не являются кросс-платформенными. Подпрограммы FPC (к примеру класс TRegistry) берут на себя работу, специфичную для ОС: реализация библиотеки FCL для этой платформы знает где и как система хранит конфигурационные данные. Это практически устраняет необходимость в системно-зависимых API-вызовах.
Рисунок 2: Скриншот Lazarus, IDE для FPC

Графические (GUI) приложения

Графические (настольные) приложения сегодня стали нормой. Однако это не проблема: интегрированная среда разработки (IDE) Lazarus с самого начала разрабатывалась с тем же уклоном на переносимость, что и FPC. Библиотека LCL (Lazarus Class Library), поставляемая с Lazarus позволяет разрабатывать настольные приложения, которые используют стандартный Windows 32 или 64 API. На Linux используются библиотеки GTK 1 или 2, а поддержка библиотек Qt и Carbon находится на стадии завершения.

Используя Lazarus, можно разработать приложение в Linux, и оно будет использовать GTK. Все, что нужно будет сделать, чтобы получить версию приложения для Windows - указать опцию компилятора. Тогда перекомпиляция произведет исполняемый файл для Windows, который будет работать на любой версии Windows - без каких-либо дополнительных библиотек. Все, что требуется для такого программистского приема - стандартная установка Lazarus.

64-битная Windows

Компилирование из Windows в Linux немного более сложно: компилятору нужен редактор связей GNU, чтобы собрать бинарный файл ELF, а также копия всех требуемых библиотек. Но принцип остается тем же. Для сборки исполняемых файлов Windows FPC содержит встроенный редактор связей, что позволяет создавать бинарные файлы для 64-битной версии Windows, в то время как средства GNU пока не позволяют этого делать. Это делает FPC+Lazarus первой крупной средой разработки с открытым кодом для Win64.

Новые возможности Object Pascal

В прошлом в FPC были реализованы некоторые расширения языка Pascal, в частности перегрузка операторов, которая впоследствии была реализована и в коммерческих компиляторах. В новой версии 2.2 реализована экспериментальная поддержка шаблонов, что может быть чрезвычайно полезно при программировании, например, классов списков.

Скорость

FPC - быстрый компилятор. FPC компилирует код примерно в 7 раз быстрее, чем, к примеру, GCC. Это может быть не так важно, но все же сокращает время разработки. Скорость полученного кода сравнима со скоростью кода, полученного компилятором GCC: согласно измерениям Shootout, код FPC 2.0.4 лишь на 30% медленнее, чем код GCC. С другой стороны код FPC использует меньше памяти, чем код GCC. В сравнении с интерпретируемыми языками (например, Ruby) код FPC выполняется в 50 раз быстрее. Разница между PHP или Java меньше, однако эти программы используют в 14 (PHP) и в 17 (Java) раз больше памяти, чем программы, написанные на FPC.

Кто-то может удивиться, почему ничего не говорится о скорости работы графических приложений. При сравнении отклика популярной Java IDE Eclipse с откликом Lazarus, можно моментально почувствовать разницу. Родной код выполняется быстрее, чем интерпретируемые или JIT-языки, даже с предварительной компиляцией. Родной код использует меньше памяти, такие программы легче устанавливать, так как на компьютере пользователя не нужно будет доустанавливать дополнительные компоненты.

В данной статье рассматриваются вопросы кросс-компиляции программ с помощью компилятора FreePascal, в частности вопросы компиляции и кросс-компиляции FPC (FreePascal Compiler).

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

Хостовая система – операционная система, на которой производиться кросс-компиляция.

Целевая система – операционная система, для которой производиться кросс-компиляция.

Примечание. В случае обычной компиляции хостовая система совпадает с целевой.

Примечание. В данной статье рассматривается только кросс-компиляция на одном процессоре (i386-совместимом), для кросс-компиляции с одного процессора для другого, возможно, будет немного иначе. У автора нет возможности проверить кросс-компиляцию с одного процессора на другой.

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

Рабочий компилятор FPC на хостовой системе, т.к. без компилятора, естественно компилировать будет просто нечем. Если вы собираетесь перекомпилировать сам FPC, то вам нужен только собственно компилятор (один исполняемый файл), исходные тексты компилируемой версии FPC, а так же пакеты binutils и GNU утилит описываемых далее.

GNU make. Утилита для интеллектуальной сборки программ из исходных текстов. Она потребуется для компиляции FPC и некоторых других программ. Если вы не собираетесь компилировать FPC, то можно обойтись и без нее.

Пакет GNU утилит. Это родные утилиты для Unix-систем. Сюда входят такие утилиты как pwd (выводит текущий каталог), rm (удаляет один или несколько файлов), mv (копирование файлов) и несколько других, не будем на них отвлекаться. Они требуются для перекомпиляции FPC с помощью утилиты make. Можно конечно обойтись и без них и без make и компилировать FPC вручную, но это долго и сложно, мы не будем рассматривать этот путь. Как было уже сказано, эти утилиты для Unix родные и, если у вас Unix-система, то они у вас, скорее всего, есть. Если у вас Windows, то их нужно устанавливать отдельно. Все необходимые утилиты входят в пакет FPC для Windows, поэтому если вы устанавливали FPC из скомпилированного пакета, то они у вас, скорее всего, уже есть, если же нет, то придется их устанавливать отдельно. Если вы не собираетесь компилировать FPC, то они вам и не понадобятся.

Все описанные выше утилиты должны быть доступны в командной строке без указания полного пути, т.е. они должны быть прописаны в переменной окружения PATH. Для FPC это не обязательно, т.к. при компиляции FPC с помощью make можно указать полный путь к компилятору (см. далее).

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

Команда fpc – это лишь оболочка, которая запускает настоящий компилятор FPC. Настоящее имя компилятора иное, например для i386-совместимых процессоров компилятор будет называться ppc386. В общем случае имя компилятора состоит из префикса ppc, за которым следует имя архитектуры и в конце суффикс (расширение), который зависит от ОС, для которой он предназначен.

Но сам FPC только компилирует, но не компонует программы. Поэтому нужен так же пакет binutils, который содержит утилиты для работы с объектными и исполняемыми файлами целевой системы.

Рассмотрим кросс-компиляцию на простом примере. Что может быть проще Hello world?

Программа простая, можно откомпилировать ее обычным способом:

Все должно откомпилироваться и после запуска вы должны увидеть то самое Hello world. Теперь перейдем к кросс-компиляции. Для кросс-компиляции FPC поддерживает специальную опцию –T (от слова target – цель). Эта опция указывает, для какой системы нужно откомпилировать программу. Чтобы узнать какие именно значения можно передать в параметре –T можно попросить FPC вывести подсказку:

Среди прочих параметров, будет и описание параметра –T со списком всех поддерживаемых опций, например:

Так, например, для компиляции под Linux нужно указать

Причина – отсутствие модуля System. Все правильно, просто FPC не может найти RTL (Runtime library – библиотека времени выполнения) для целевой системы. Использовать RTL хостовой системы FPC не может, т.к. для разных систем RTL и (другие модули и библиотеки) отличаются. Поэтому для успешной компиляции потребуется RTL хостовой системы и настроить FPC. RTL можно взять готовый или получить перекомпиляцией. В последнем случае вам понадобятся исходные тексты компилятора (или только RTL). В следующей части статьи рассматривается компиляция RTL.

Для компиляции RTL потребуются исходные тексты компилятора (или только RTL). RTL можно компилировать двумя способами: первый – компилировать только RTL, второй – компилировать RTL вместе с компилятором. Какой путь выбирать решать вам. Нужно только учитывать то, что версии RTL и компилятора должны совпадать (т.е. должны быть из одного пакета). Поэтому если у вас одна версия компилятора, а исходные тексты другой версии, то лучше перекомпилировать и компилятор и RTL и использовать их для кросс-компиляции. Процесс компиляции компилятора рассматривается в последующих частях, в этой же части рассмотрим компиляцию одной RTL.

Компиляция довольно проста: переходим в каталог с исходными текстами RTL и запускаем утилиту make (компиляция вручную выходит за рамки статьи):

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

Параметр OS_TARGET указывает целевую систему, для которой нужно откомпилировать RTL, target – название целевой системы. Например, для компиляции под Linux команда примет следующий вид:

В случае успешной компиляции в папке units появиться папка i386-linux (название зависит от выбранной целевой системы). В ней находятся объектные модули RTL. Можно убедиться есть ли system.ppu.

После того, как вы получили RTL для целевой системы, нужно указать компилятору, где нужно искать RTL. Можно это сделать непосредственно в командной строке:

Например, если RTL лежит в папке d:\fpc_src\rtl\units\i386-linux, то команда примет следующий вид:

После чего FPC опять на вас поругается: RTL он теперь нашел, но компоновщик (ld) не умеет работать с используемым форматом. Причина – fpc пытается использовать ld хостовой системы, поэтому нам нужно указать, что нужно использовать ld из пакета binutils для кросс-компиляции. Для этого в FPC есть опция –FD, которая указывает где нужно искать соответствующие утилиты. Таким образом, команда перепишется в виде:

Следуя примеру, если у нас кросс-binutils лежит в d:\bin\i386-linux то, команда перепишется в виде:

Вот на этот раз все должно скомпилироваться и получиться рабочий бинарный файл. Остается только проверить работоспособность на целевой системе.

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

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

Итак, у нас есть установленный рабочий компилятор FPC. По умолчанию он устанавливается в Windows в каталог D:pp (у вас может быть другой диск, например, C) и в Unix-системах в /usr/local/pp. Далее в примерах будем считать, что FPC установлен d:pp (замените его на свой каталог). Сам компилятор и другие вспомогательные утилиты лежат в каталоге d:/pp/bin/$FPCTARGET (d:/pp/bin/i386-win32). Утилиты binutils для кросс-компиляции будем хранить в каталоге d:/pp/bin/$FPCTARGET, где $FPCTARGET название целевой платформы (фактически это макрос автоматически создаваемый FPC).

Например, для поддержки кросс-компиляции из Windows в Linux в каталоге d:/pp/bin у нас будет следующая структура:

В папке d:\pp\bin\i386-linux у нас лежат кросс-версии binutils (Windows -> Linux).

Модули и RTL лежат в папке d:ppunits$FPCTARGET. В данном примере будет d:\pp\units\i386-win32, скопируем в папку d:ppunits RTL модули, полученные для других целевых систем. У нас должна получиться следующая структура:

Вот теперь использовать кросс-компиляцию будет значительно проще. Для кросс-компиляции нашего примера будет достаточно ввести команду:

Если все было сделано правильно, то FPC должен произвести рабочий исполняемый файл.

Примечание. Есть второй способ выбора пакета binutils, основанный на префиксах – имя каждой утилиты начинается на префикс, указывающий целевую платформу. Например, компоновщик ld для i386-win32 будет назваться i386-win32-ld, а для i386-linux будет i386-linux-ld. Чтобы компилятор FPC мог правильно выбрать утилиту ему нужно указать опцию –XP<префикс>, поэтому в конфигурационном файле мы прописываем

А опцию -FDd:\pp\bin\$FPCTARGET\ убираем или переопределяем так, чтобы она указывала, где нужно искать binutils, но проще поместить все утилиты в каталог, прописанный в переменной окружения PATH, а опцию –FD убрать.

Рассмотренный пример прост до безобразия, и не имеет ни какой практической ценности. При кросс-компиляции более сложных примеров у вас снова возникнут сложности. И связанны они опять с наличием модулей. Дело в том, что мы компилировали только RTL, а в реальных проектах, как правило, требуются дополнительные модули и их тоже нужно перекомпилировать для целевой системы и поместить на свое место в d:\pp\units, чтобы FPC мог найти правильные версии модулей.

В данном разделе мы рассмотрим только компиляцию FCL и других дополнительных модулей распространяемых вместе с FPC.

Компиляция пакетов packages/base.Эти пакеты требуются для FCL. Открываем консоль в папке packages/base и исполняем команды:

Последняя команда установит все модули на свое законное место.

Или для нашего примера Windows -> Linux

Компиляция FCL так же проста:

Примечание. Если вы устанавливали FPC в какой-то каталог отличный от стандартного, то вам придется так же указать параметр INSTALL_PREFIX= .

Примечание. RTL тоже можно установить с помощью make install.

Примечание. FCL может и не скомпилироваться, т.к. FCL зависит от некоторых модулей из packages, более надежный способ см. ниже.

Компиляция пакетов packages/extra:

После этих действий в d:\pp\units\i386-linux должны быть все модули, распространяемые вместе с FPC и соответственно можно использовать кросс-компиляцию для более сложных проектов, которые требуют наличия данных модулей. Точно так же по аналогии можно устанавливать все необходимые модули сторонних разработчиков.

Все приведенные выше рассуждения полезны скорее для понимания сути. Для реального использования все можно сделать быстрее в автоматическом режиме.

Допустим, что мы уже установили компилятор FPC для Windows, внесли описанные выше изменения в fpc.cfg, создали каталог d:\pp\bin\i386-linux и поместили туда binutils для кросс-компиляции из Windows в Linux.

Если все это выполнено, то напишем небольшой командный файл (mkcross.bat):

Поместим его в папку с исходными тестами, перейдем в каталог и выполним команду:

И все будет сделано автоматически. Такой вариант, пожалуй, самый надежный, но долгий, т.к. компилироваться будет все, в том числе и IDE fp. Чтобы сократить ожидание можно переписать mkcross.bat следующим образом:

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

Есть два способа кросс-компиляции FPC и всех программ и модулей распространяемых вместе с FPC. Первый – кросс-компиляция всего на хостовой системе, второй – кросс-компиляция компилятора с последующей компиляцией всего остального на целевой системе.

При кросс-компиляции FPC используется опция –XP, рассмотренная выше. Поэтому при кросс-компиляции утилиты binutils должны иметь префикс, например, i386-linux (для кросса из Windows в Linux) и i386-win32 (для кросса из Linux в Windows).

Способ I

Кросс-компиляция всего пакета на хостовой системе. Теоретически здесь все просто: распаковываем исходные тексты в некоторый каталог, открываем в консоли каталог с исходными текстами и исполняем команды:

Первая производит очистку (можно опустить, если вы уверены, что у вас чистые исходные тексты), вторая производит кросс-компиляцию. После кросс-компиляции если все хорошо, то переносим все эти исходные тексты и все полученные исполняемые файлы и модули, которые лежат в том же каталоге, в целевую систему. Уже на целевой системе устанавливаем: переходим в папку, где у нас лежат исходные тексты и скомпилированные файлы, и выполняем одну команду:

Естественно, команда make и GNU утилиты должны быть на целевой системе уже уставлены и доступны.

Но на практике данный способ не много проще второго, т.к. прежде чем делать make install, возможно, потребуется выполнить дополнительные действия. оставляю эту часть в качестве упражнения для любопытствующих.

Способ II

Второй способ более надежен. Сначала нужно просто кросс-компилировать сам компилятор и затем уже им на целевой системе компилировать все остальное, так сказать в родной обстановке.

Теоретически все должно выглядеть примерно так. Исходные тексты распаковываются в некоторую папку. Затем открываем в консоль, переходим в папку с исходными текстами компилятора и исполняем команды:

Первая команда очищает исходные тексты от ранее скомпилированных текстов. Как, всегда, если вы уверены в чистоте исходных текстов, эту команду можно пропустить. Параметры OS_TARGET нам уже известен, а вот параметр PP задает компилятор, который следует использовать для компиляции. В большинстве случаев, если у вас корректно установлен FPC, то make сам его найдет и указывать параметр PP не нужно. Его следует указывать, если make не может его найти самостоятельно или находит компилятор неподходящей версии.

Вторая строчка запускает цикл компиляции FPC. Обратите внимание, что нужно указать цель cycle. Если все хорошо, то в папке будет лежать готовый компилятор. Теперь этот компилятор можно использовать для компиляции всего остального. Для этого нужно все исходные тексты и сам компилятор перенести на целевую систему. Далее открываем в консоли папку на целевой системе с исходными текстами и выполняем команды:

В данном случае указывать параметр обязательно, т.к. наш компилятор еще не установлен.

Примечание. Компилятор можно прописать в переменной PATH, тогда параметр PP указывать будет не нужно.

Последняя команда установит компилятор, RTL и другие утилиты и модули на свои привычные места.

И последний этап – настройка FPC – создание конфигурационного файла. Все настройки на ваш вкус, частично вопрос настройки уже рассматривался в части «Кросс-компиляция сложных примеров».

Так должно быть в общем случае. Теперь кратко рассмотрим нюансы кросс-компиляции из Windows в Linux обратно.

Собственно кросс-компиляция как в теории. Распакуем исходные тексты в какой-нибудь каталог, например, d:\fpc_src. Затем откроем консоль:

В результате в папке d:\fpc_src\compiler появиться файл ppc386 (без раширения) – это и есть наш компилятор.

Вторая часть – компиляция под Linux. Скопируем (или распакуем из архива) исходные тексты, например в папку

/fpc_src (для новичков в мире Unix/Linux: знак

обозначает домашний каталог). В отдельный временный каталог (например,

После этого можно компилировать:

После того, как все откомпилировалось можно устанавливать. Устанавливать нужно c правами root.

Где /home/user – домашний каталог пользователя, под которым производилась компиляция. После установки компилятор во временном каталоге можно удалить.

http://informat45.ucoz.ru/drugoe/linux/pascal/c4040ee5.jpg

В этой теме я хотел бы рассказать про программное обеспечение с помощью которого всё это можно без труда реализовать и на линуксе.
Одна из таких программ это Geany.

Выполнить установку этой программы можно через терминал. Для этого собственно нужно открыть терминал, через систему, или зажать клавиши Ctrl+Alt+T.

В открывшемся окне нужно вписать скрип установки программы:

http://informat45.ucoz.ru/drugoe/linux/pascal/snimok_ehkrana_ot_2015-10-28_16-02-07.jpg


Затем ввести пароль системы, после чего подождать окончания установки.
Теперь казалось бы программа установлена, и можно начинать работать, однако без компилятора сделать программы толком невозможно. Поэтому следующим шагом, через терминал установим ещё и компилятор для паскаля.

http://informat45.ucoz.ru/drugoe/linux/pascal/snimok_ehkrana_ot_2015-10-28_16-03-17.jpg


Снова вводим пароль, соглашаемся с установкой и ждём её окончания.

http://informat45.ucoz.ru/drugoe/linux/pascal/c4040ee5.jpg

На этом всё, запускаем программу Geany , проверим работу на основе простого кода.

http://informat45.ucoz.ru/drugoe/linux/pascal/snimok_ehkrana_ot_2015-10-28_16-25-51.jpg


Компилируем через F8, и запускаем через F5. Как видно, компилятор работает.

Читайте также: