On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 1
Зарегистрирован: 10.02.08
ссылка на сообщение  Отправлено: 10.02.08 20:36. Заголовок: Хочу попробовать на Harbour/xHarbour


В 90-х годах писал на Clipper 5.1 и вот уже лет 10 не пишу. Встретил людей, для которых
когда-то сделал одну прогу, которая до сих пор пашет. Они просят переписать (и дополнить) её под Win XP. Я им ничего конкретного не пообещал. Сказал, что многое уже
подзабыл и для освоения (профессионально) нового яз-а пограм-я нужно время. «Ты подумай, мы тебя не торопим» - сказали они мне и на этом мы расстались.
Та случайная встреча и знакомство с вашим сайтом разбудили во мне желание вновь писать (или хотя бы переписать старые) программы. Я думаю, в моём положении, Harbour/xHarbour это то, что даст вторую жизнь моим старым программам. Благо исходники сохранились.
После столь долгого перерыва в программировании прошу вашей помощи. Не откажите.
Не судите строго за глупые вопросы.

И так. Это мой старый bat-файл:
@echo off
set path=c:\clip5\bin
set lib=c:\clip5\lib
set include=c:\clip5\include
set obj=c:\clip5\obj
clipper a_1 /n /a /b
clipper a_2 /n /a /b
if not errorlevel 1 rtlink file a_1.obj,a_2.obj,dbfsix.obj output p_1 library dbfsix,clipper,ct150
del *.obj
____________________________

А вот что такое а_1 и а_2
a_1.prg
#include "dbfsix2.ch"
PROCEDURE MAIN1()
SetRDD("DBFSIX")
mai1()
RETURN
#include "мой.ch"
#include "PROG_01.PRG" => mai1()
#include "PROG_02.PRG"
.
.
.
#include "PROG_25.PRG"


a_2.prg
#include "dbfsix2.ch"
PROCEDURE MAIN2()
SetRDD("DBFSIX")
mai2()
return NIL
#include "PROG_26.PRG" => mai2()
#include "PROG_27.PRG"
.
.
.

#include "PROG_50.PRG"


А это bat-файл для Harbour:

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 aer_1.prg -n -i%HB_INC_INSTALL%
%HB_BIN_INSTALL%\harbour aer_2.prg -n -i%HB_INC_INSTALL%


d:\borland\bcc55\bin\bcc32 -O2 -d -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% aer_1.c aer_2.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 d:\harbour\lib\hbsix.lib с:\clip5\lib\dbfsix.lib


d:\borland\bcc55\bin\ilink32 -Gn d:\radk\clip5\obj\dbfsix.obj aer_1.obj aer_2.obj, aaeerr.exe, , d:\harbour\lib\debug.lib d:\harbour\lib\lang.lib d:\harbour\lib\macro.lib d:\harbour\lib\pp.lib d:\harbour\lib\dbfntx.lib d:\harbour\lib\dbfcdx.lib d:\harbour\lib\codepage.lib d:\harbour\lib\libct.lib d:\harbour\lib\harbour-b32.lib d:\harbour\lib\rtl.lib d:\harbour\lib\hbsix.lib с:\clip5\lib\dbfsix.lib
До использовиния ilink32 пример батника взят с сайта А. Кресина.

После выполнения этого батника, вот что получаю:
D:\>d:\harbour\bin\harbour a_1.prg -n -id:\harbour\include\
Harbour Beta build 0.99-3 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'a_1.prg'...


Lines 11842, Functions/Procedures 240
Generating C source output to 'a_1.c'... Done.

D:\>d:\harbour\bin\harbour a_2.prg -n -id:\harbour\include\
Harbour Beta build 0.99-3 Intl.
Copyright 1999-2007, http://www.harbour-project.org/
Compiling 'a_2.prg'...


Lines 4863, Functions/Procedures 86
Generating C source output to 'a_2.c'... Done.

D:\>d:\borland\bcc55\bin\bcc32 -O2 -d -Id:\harbour\include\ -Ld:\harbour\lib\ a_1.c a_2.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 d:\harbour\lib\hbsix.lib с:\clip5\lib\dbfsix.lib
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
a_1.c:
a_2.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Access violation. Link terminated.

D:\>d:\borland\bcc55\bin\ilink32 -Gn с:\clip5\obj\dbfsix.obj a_1.obj a_2.obj, aaeerr.exe, , d:\harbour\lib\debug.lib d:\harbour\lib\lang.lib d:\harbour\lib\macro.lib d:\harbour\lib\pp.lib d:\harbour\lib\dbfntx.lib d:\harbour\lib\dbfcdx.lib d:\harbour\lib\codepage.lib d:\harbour\lib\libct.lib d:\harbour\lib\harbour-b32.lib d:\harbour\lib\rtl.lib d:\harbour\lib\hbsix.lib d:\clip5\lib\dbfsix.lib
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Unsupported 16-bit segment(s) in module \drivers\sex\ver1-1\asm\sixdyn.asm

Если я правильно понял – ему не нравится dbfsix.lib. Но я использую в своих прогах
функции этой библиотеки.
И мне ещё не понятно, для чего дважды (в bcc32 и ilink32)прописывать необходимые библ-ки.
Что делаю неправильно? Как правильно составить батник для сборки прог-м?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]


Ответов - 34 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 15
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет