Всем привет.
Поможите очередному hb-неофиту, плз... Застрял на самом простом, устал уже... :-)
Скачал Harbour (отсюда:
http://en.sourceforge.jp/projects/sfnet_harbour-project/downloads/binaries-windows/3.0.0/harbour-3.0.0-win.exe/ ), установил его в папку c:\hb30.
Библиотеки для bcc оказались в папке C:\hb30\lib\win\bcc\
Скачал bcc 5.5.1, распаковал его в C:\BCC55.
Прописал в path:
C:\HB30\BIN;C:\BCC55\BIN;%path%
Далее создал конфиг для bcc:
C:\BCC55\Bin>TYPE bcc32.cfg
-I"C:\BCC55\include;C:\HB30\include"
-L"C:\hb30\lib\win\bcc;C:\BCC55\lib;C:\BCC55\lib\psdk"
Создал helloworld.prg:
Proc Main()
? "Hello world!"
wait
return nil
В том же каталоге сделал простой батник для сборки:
C:\CSHB>type hbmake.bat
@echo off
cls
set hb=c:\hb30
set HBLIB=%hb%\lib\
set HBINC=%hb%\include\
harbour %1 -i%HBINC%
if errorlevel 1 exit
@echo on
@rem bcc32 -O2 -d -I%HBINC% -L%HBLIB% %~n1.c
bcc32 %~n1.c
@pause
Запускаю батник: hbmake.bat hello.prg - и получаю сразу шваброй по лбу:
Harbour 3.0.0 (Rev. 16951)
Copyright (c) 1999-2011,
http://harbour-project.org/ Compiling 'hello.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'hello.c'... Done.
C:\CSHB>bcc32 hello.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
hello.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_main' referenced from C:\BCC55\LIB\C0X32.OBJ
Error: Unresolved external '_hb_vmProcessSymbols' referenced from C:\CSHB\HELLO.O
Error: Unresolved external '_HB_FUN_QOUT' referenced from C:\CSHB\HELLO.OBJ
Error: Unresolved external '_HB_FUN___WAIT' referenced from C:\CSHB\HELLO.OBJ
Error: Unresolved external '_hb_vmExecute' referenced from C:\CSHB\HELLO.OBJ
ВОПРОСЫ по этому примеру.
1) Что надо добавить, чтобы решился вопрос с _main ?
2) Путь к библам, содержащим _HB_FUN_*, есть "C:\hb30\lib\win\bcc" - он прописан в bcc32.cfg. Почему он их не находит ?
Стратегический вопрос: прочитал тут, на форуме, что ИксХарбор хотя и более совместим с клиппером, но отстал в развитии. Если пытаться перевести большую прогу на "просто"Харбор (не "иск"), то какие ждут грабли ? Много ли функций из ct.lib там отсутствует ? Есть ли в нём sixrdd ? "Понимает" ли он все ads'овские функции (в т.ч. управление транзакциями) ?