Switch to English Александр Кресин
Главная Clipper HwGUI Harbour Утилиты
Ссылки Five stones KS Organizer Мое фото

Harbour для начинающих
Как установить Harbour и откомпилировать на нем свою программу.


Александр Кресин
Октябрь 2003

1 Установка

Официальные дистрибутивы Харбора находятся на его сайте http://www.harbour-project.org/download.htm. Там выложены как исходники, так и готовые к работе бинарники ( exe и lib ). Если вы скачаете исходники, то вам надо будет откомпилировать из них сам Харбор. Это не трудно, но, возможно, для начинающего ни к чему. Это может быть полезным, если вы захотите получить самую свежую версию Харбора с CVS ( официальные версии выходят далеко не каждый день ).

Есть один важный вопрос, который вам надо решить для себя сразу, до скачивания дистрибутива Харбора - это вопрос о С компиляторе.
Дело в том, что сам компилятор Харбор не создает объектные файлы ( obj, o ), результатом его работы является *.c файл, который надо затем скомпилировать С компилятором, чтобы получить exe'шник. Но пусть это вас не пугает ! Вам не обязательно знать для этого С - достаточно, чтобы С компилятор был у вас установлен. А использование его для компиляции и линковки ваших файлов ничуть не сложнее, чем использование Rtlink или Blinker'а.
Если вы работаете в Линуксе, то C компилятор у вас уже есть - это стандартный GNU C. если же ваша платформа - Win32, то надо выбирать. Большинство тех, кто работает с Харбором, использует бесплатный Borland C 5.5.1, его можно скачать с ftp://ftpd.borland.com/download/bcppbuilder/freecommandLinetools.exe. Если у вас уже стоит C++ Builder или Visual C, можете использовать их. Еще один хороший C компилятор - Mingw http://www.mingw.org.

Примечание для тех, кто будет устанавливать Borland C 5.5.1 и не прочитает их readme.txt: чтобы он работал, необходимо вручную создать в bcc55\bin 2 файла:
BCC32.CFG:

-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
и ILINK32.CFG:
-L"c:\Borland\Bcc55\lib;c:\Borland\Bcc55\lib\PSDK"

Кстати, чтобы запустить на исполнение небольшую программу, вы можете обойтись и без С.

1.1 Устанавливаем бинарники Харбора
Установка бинарников сводится, собственно, к распаковке дистрибутива.

1.2 Устанавливаем Харбор из исходников

1.3 Что такое CVS

Подробнее о CVS и как его использовать, вы можете прочитать в документации - это небольшой ( 169К ) zip архив.
А я расскажу об этом коротко - в применении к Харбору.

Итак, CVS - это программа с серверной и клиентской частями, которая позволяет разработчикам, у которых установлены клиентские части, совместно работать с исходниками проекта, которые находятся на сервере ( в Интернет или в локальной сети ), разрешает конфликты, возникающие при одновременном изменении одного файла разными людьми. При этом CVS обеспечивает и контроль версий - т.е., все версии каждого файла хранятся, могут быть извлечены, восстановлены; можно проверить, кем и какие изменения были сделаны.
Очень удобная штука, рекомендую и для внутреннего использования в подразделении.

Разработчики Харбора используют для доступа к CVS бесплатный сервис, предоставляемый SourceForge.net.
Установив CVS клиент, вы можете получить доступ к исходникам Харбора - самому последнему варианту, как у разработчиков. В первый раз вам придется скачать полный набор ( ~16M ), при последующих обращениях передаваться будут только изменения.
Вам надо выбрать одну из нескольких клиентских программ, две из них будут рассмотрены ниже.

1.3.1 CVS-клиент: GUI (Tortoise)

Это довольно удобная программа, которыю можно взять на http://www.tortoisecvs.org/. После установки у вас добавятся новые строчки в контекстном меню, появляющемся при щелчке по файлу в "My computer" или Windows Explorer.
Итак, щелкаете правой кнопкой мыши по папке, куда хотите скачать исходники и выбираете в меню "CVS checkout". В диалоговом окошке указываете следующие параметры:

        Protocol:                           Internet (Unix pserver)
        Server:                              cvs.harbour-project.sourceforge.net
        Repository directory:         /cvsroot/harbour
        User name:                        anonymous
        Module:                             harbour

Жмете "ОК" - и в путь !

1.3.2 CVS-клиент: консольный

Скачиваете с Харборовского сайта http://www.harbour-project.org/download.htm CVS_DOS и SSH, распаковываете, например, в C:\CVS и создаете там же bat файл следующего содержания:

@echo off
SET CVSROOT=:pserver:[email protected]:/cvsroot/harbour-project
SET HOME=C:\CVS\HARBOUR\
SET CVS_RSH=ssh
cvs checkout -P harbour

2 Компиляция и линковка программы

Последовательность действий здесь простая:

1. Компилируем *.prg в *.c с помощью harbour.exe.
Параметры компилятора, в основном, те же, что и у Клиппера. Полный их список можно получить, запустив harbour.exe без параметров. В одной строчке можно указывать несколько prg файлов.
2. Компилируем *.с в объектные файлы вашим С компилятором.
3. Линкуем объектные файлы тем линкером, который поставляется с С компилятором.
При линковке надо обязательно указать список Харборовских библиотек, которые нужны вашему приложению.
Все используемые с Харбором С компиляторы позволяют объединить шаги 2 и 3 - делайте, как вам нравится.

2.1 Win32, Borland C

Ниже приведен bat'ник, которым я обычно пользуюсь, чтобы скомпилировать 1 prg:

@set HB_BIN_INSTALL=d:\harbour\bin
@set HB_LIB_INSTALL=d:\harbour\lib\
@set HB_INC_INSTALL=d:\harbour\include\

%HB_BIN_INSTALL%\harbour %1.prg -n -i%HB_INC_INSTALL%
bcc32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib common.lib codepage.lib
Если вам надо построить программу из нескольких файлов, то можно использовать что-либо вроде этого:
@set HB_BIN_INSTALL=d:\harbour\bin
@set HB_LIB_INSTALL=d:\harbour\lib\
@set HB_INC_INSTALL=d:\harbour\include\

%HB_BIN_INSTALL%\harbour file1.prg -n -i%HB_INC_INSTALL%
%HB_BIN_INSTALL%\harbour file2.prg -n -i%HB_INC_INSTALL%
...
bcc32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% file1.c file2.c ... debug.lib vm.lib rtl.lib gtwin.lib lang.lib rdd.lib macro.lib pp.lib dbfntx.lib dbfcdx.lib common.lib codepage.lib

2.2 Win32, Mingw

2.3 Linux

2.4 Как обойтись без С

Да, вы можете скомпилировать свою программу и запустить ее на исполнение и без С компилятора ! Harbour.exe может создать p-code файл ( наподобие Fox'овского fxp ), небольшой по размеру, который можно исполнить с помощью утилиты Hbrun.exe - она входит в комплект дистрибутива.

Итак, компилируйте программу с ключом /gh ( остальный ключи - /n, /w, ... - как обычно, по необходимости ) :
harbour.exe my.prg /gh
Если компиляция завершится без ошибок, вы получаете файл my.hrb и исполняете его:
hbrun.exe my.hrb [ параметры ]
где параметры - это те параметры, с которыми вы запускаете свою программу.
Есть тут, правда, одно досадное ограничение: таким образом вы можете скомпилировать программу только из одного prg.



Hosted by www.Geocities.ws

1