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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 05:52. Заголовок: Ошибка при линковке xHarbour-программы


Пытаюсь освоить xHarbour. При линковке выдаётся ошибка:
Fatal: too many DEF file names: ..\lib\rtl.lib

Запросто м.б., что у меня lnk-файл дурной, но пришлось методом тыка, потому как нормального описалова, что там и как должно быть, нет. Lnk-файл:
\bcc55\lib\c0w32.obj +
MAIN.OBJ+ READCFG.OBJ+ FUN.OBJ+ PROC.OBJ+ FILEMAN.OBJ+ SETUP.OBJ+
SETPSWRD.OBJ+ ERRORSYS.OBJ, +

main.exe, +

..\lib\bcc640.lib +
..\lib\rtl.lib +
..\lib\ct.lib +
..\lib\vm.lib +
..\lib\gtwin.lib +
..\lib\lang.lib +
..\lib\codepage.lib +
..\lib\macro.lib +
..\lib\rdd.lib +
..\lib\dbfntx.lib +
..\lib\dbfcdx.lib +
..\lib\hbsix.lib +
..\lib\dbffpt.lib +
..\lib\common.lib +
..\lib\debug.lib +
..\lib\pp.lib +

\bcc55\lib\cw32.lib +
\bcc55\lib\import32.lib +
..\lib\six3.lib +
..\lib\oslib.lib +
..\lib\nanfor.lib

Народ, что у меня неправильно?

Спасибо: 0 
Ответов - 15 [только новые]


администратор




Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 14:36. Заголовок: Re:


поюзай hbmake в интерактивном режиме !

Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 17:54. Заголовок: Re:


Вот как я собираю , может поможет тебе .

erase ttt

c:\xharbour\bin\harbour uslu.prg -n -ic:\xharbour\include\ > ttt
c:\xharbour\bin\harbour getsys.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour glvmain.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour cliprez.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour procview.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour clipser.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour clipser1.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour locks.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour biblglv1.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour biblglv2.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour fileman.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour pe_edit.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour izmena_n.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour ppalitra.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p0.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p00.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p4.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p41.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p42.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p43.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p44.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p45.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p47.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p48.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p49.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p7_wed00.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p7_wed01.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p7_wed02.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p7_wed03.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour p9.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour t0.prg -n -ic:\xharbour\include\ >> ttt

c:\borland\bcc55\bin\bcc32 @ttt.ttt >>ttt

del *.tds
del *.c
del *.map
del *.obj


***********
ФАЙЛ ttt.ttt
***********
-O2 -Ic:\xharbour\include -Lc:\xharbour\lib
-euclu.exe

USLU.c
GETSYS.c
GLVMAIN.c
CLIPREZ.c
PROCVIEW.c
CLIPSER.c
CLIPSER1.c
LOCKS.c
BIBLGLV1.c
BIBLGLV2.c
FILEMAN.c
PE_EDIT.c
IZMENA_N.c
PPALITRA.c
P0.c
P00.c
P4.c
P41.c
P42.c
P43.c
P44.c
P45.c
P47.c
P48.c
P49.c
P7_WED00.c
P7_WED01.c
P7_WED02.c
P7_WED03.c
P9.c
t0.c

debug.lib
vm.lib
rtl.lib
gtwin.lib
lang.lib
rdd.lib
macro.lib
pp.lib
dbfntx.lib
dbfcdx.lib
dbffpt.lib
hbsix.lib
common.lib
ct.lib


Спасибо: 0 
Профиль





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 18:04. Заголовок: Re:


Или используй xMate , я попробовал для xHarbour + MiniGUI и мне понравилось .

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 22:43. Заголовок: Re:


Что такое hbmake и чем он мне поможет?

Спасибо: 0 



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 19.03.06 22:49. Заголовок: Сергею Р


ttt.ttt - это линковочный файл?
Странно, я думал, что линковка производится из библиотек .LIB (это сответствует) и объектников .OBJ, а у тебя вместо них сплошные .C

И что такое xMate?

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.03.06 01:02. Заголовок: Re:


ttt.ttt - cript файл компоновки .
Я не стал ничего вырезать из батника , лень было , от uslu до t0 - это мои модули , а остальное все , что тебе необходимо , для начала .
С - это потому , что харбор кроме .С модулей ничего не создает ,
в этом вся изюменка , что CLIPPER полностью переведен на С .
А все остальное - это работа борланда .
Конечно ты можешь и сторонние OBJ присандаливать , это уже твоя забота .
xMate по адресу :
http://www.geocities.com/wowbase/xMate.html , скачай и сам поиграйся .
Здесь почитай http://clipper.fastbb.ru/index.pl?1-0-0-00000156-000-10001-0-1132151842
А вот если ты на форуме зарегистрируешься , то сможешь сам делать поиск по форуму






Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.03.06 10:53. Заголовок: Сергею Р


В том-то вся и проблема, что борланд со своей задачей справляется только частично!
Т.е. компилятор работает на ура (все OBJ-файлы я скомпилировал), а вот борландовский линковщик ILINK32 выдаёт вышеуказанную ошибку и я не знаю, чем она вызвана! Ошибка возникает именно на этапе линковки, поэтому я и спрашивал, каким должен быть линковочный файл - может, кто с борландом конкретно работает...

xMate поможет мне СОБРАТЬ программу из готовых OBJ?

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 20.03.06 11:51. Заголовок: Re:


Может быть у тебя кривые OBJ (например досовские) , как ты их получил ?
xMate поможет , только все настроить правильно надо (это большой инструмент).

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.03.06 21:57. Заголовок: Сергею Р


OBJ-файлы я получил, компилируя C-модули борландовским компилятором BCC32.EXE, а С-модули, в свою очередь - компилируя xHarbourом клипперовские PRG-модули.
Так что до момента линковки всё путём, я потому и предположил, что я может в LNK-файле что-то не так пишу?

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 23.03.06 22:50. Заголовок: Re:


Попробуй так :
............
main.exe, +
main.map, +
..\lib\bcc640.lib +
..........

Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.03.06 02:37. Заголовок: Сергею Р


Попробуй так :
............
main.exe, +
main.map, +
..\lib\bcc640.lib +
..........

Получаю:
Fatal: Unable to open file 'MAIN.MAP'
что в общем и понятно - у меня такого файла и нет...

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.03.06 11:39. Заголовок: Re:


Вот так у меня все собирается (проверено):
файл ttt.bat :

erase main
c:\xharbour\bin\harbour MAIN.prg -n -ic:\xharbour\include\ > ttt
c:\xharbour\bin\harbour READCFG.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour FUN.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour PROC.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour FILEMAN.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour SETUP.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour SETPSWRD.prg -n -ic:\xharbour\include\ >> ttt
c:\xharbour\bin\harbour ERRORSYS.prg -n -ic:\xharbour\include\ >> ttt

c:\borland\bcc55\bin\bcc32 @ttt.ttt >>ttt

del *.tds
del *.c
del *.map
del *.obj
main.exe

файл ttt.ttt :

-O2 -Ic:\xharbour\include -Lc:\xharbour\lib
-emain.exe

MAIN.c
READCFG.c
FUN.c
PROC.c
FILEMAN.c
SETUP.c
SETPSWRD.c
ERRORSYS.c

debug.lib
vm.lib
rtl.lib
gtwin.lib
lang.lib
rdd.lib
macro.lib
pp.lib
dbfntx.lib
dbfcdx.lib
dbffpt.lib
hbsix.lib
common.lib
ct.lib


Библиотек :
..\lib\six3.lib +
..\lib\oslib.lib +
..\lib\nanfor.lib
у меня нет , если ты в них уверен , добавь в ttt.ttt





Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.03.06 16:56. Заголовок: Сергею Р


Видишь ли, я ни разу с проектами дело не имел, и поэтому думаю что там закопаюсь изучавши, что к чему... а ttt.ttt - это ведь файл проекта, а не линковочный файл?!
Я убрал из твоего примера main.map, но оставил от него запятую с плюсом, и дело несколько продвинулось. Теперь выдаётся сообщение:
Fatal: Too many returns in response file \BCC55\LIB\CW32.LIB'

Интересно, с какого перепуга борландовский линковщик ILINK32 ругается на борландовскую же библиотеку? Убрал из сборки эту либу, так же ругается на следующую, IMPORT32.LIB. Убрал из сборки и её тоже - получил сообщение
Fatal: Unable to open file 'MAIN.EXE'

Знать бы только, что это означает? С какой стати он должен быть открыт, это же файл-результат, линковщик его создавать должен, а не открывать!

Спасибо: 0 





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.03.06 21:40. Заголовок: Re:


Ну ладно , не хочешь использовать bcc32 , пиши так :

@echo off
erase main.exe
c:\xharbour\bin\harbour main.prg -n -ic:\xharbour\include;c:\minigui\include > ttt
c:\xharbour\bin\harbour readcfg.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour fun.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour proc.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour fileman.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour setup.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour setpswrd.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt
c:\xharbour\bin\harbour errorsys.prg -n -ic:\xharbour\include;c:\minigui\include >> ttt

c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include main.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include readcfg.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include fun.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include proc.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include fileman.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include setup.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include setpswrd.c >> ttt
c:\borland\bcc55\bin\bcc32 -c -O2 -tW -M -Ic:\xharbour\include;c:\minigui\include errorsys.c >> ttt

echo c0w32.obj + > b32.bc
echo main.obj + >> b32.bc
echo readcfg.obj + >> b32.bc
echo fun.obj + >> b32.bc
echo proc.obj + >> b32.bc
echo fileman.obj + >> b32.bc
echo setup.obj + >> b32.bc
echo setpswrd.obj + >> b32.bc
echo errorsys.obj, + >> b32.bc
echo main.exe, + >> b32.bc
echo main.map, + >> b32.bc

echo c:\xharbour\lib\rtl.lib + >> b32.bc
echo c:\xharbour\lib\vm.lib + >> b32.bc
echo c:\xharbour\lib\gtwin.lib + >> b32.bc
echo c:\xharbour\lib\lang.lib + >> b32.bc
echo c:\xharbour\lib\codepage.lib + >> b32.bc
echo c:\xharbour\lib\macro.lib + >> b32.bc
echo c:\xharbour\lib\rdd.lib + >> b32.bc
echo c:\xharbour\lib\dbfntx.lib + >> b32.bc
echo c:\xharbour\lib\dbfcdx.lib + >> b32.bc
echo c:\xharbour\lib\dbffpt.lib + >> b32.bc
echo c:\xharbour\lib\hbsix.lib + >> b32.bc
echo c:\xharbour\lib\common.lib + >> b32.bc
echo c:\xharbour\lib\debug.lib + >> b32.bc
echo c:\xharbour\lib\pp.lib + >> b32.bc
echo c:\xharbour\lib\ct.lib + >> b32.bc
echo cw32.lib + >> b32.bc
echo import32.lib >> b32.bc

c:\borland\bcc55\bin\ilink32.exe -ap -Gn -Tpe @b32.bc >> ttt

del *.tds
del *.c
del *.map
del *.obj
del b32.bc
main.exe


Спасибо: 0 
Профиль



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 26.03.06 00:39. Заголовок: Сергею Р


Линковка у меня практически такая же, только .MAP-Файла нет...
Ладно, завтра попробую в точности повторить твой сценарий. Большое спасибо, что столько со мной возишься!

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