Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 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 Народ, что у меня неправильно?
|
|
|
Ответов - 15
[только новые]
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.03.06 14:36. Заголовок: Re:
поюзай hbmake в интерактивном режиме !
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 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
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.03.06 18:04. Заголовок: Re:
Или используй xMate , я попробовал для xHarbour + MiniGUI и мне понравилось .
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.03.06 22:43. Заголовок: Re:
Что такое hbmake и чем он мне поможет?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 19.03.06 22:49. Заголовок: Сергею Р
ttt.ttt - это линковочный файл? Странно, я думал, что линковка производится из библиотек .LIB (это сответствует) и объектников .OBJ, а у тебя вместо них сплошные .C И что такое xMate?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 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 А вот если ты на форуме зарегистрируешься , то сможешь сам делать поиск по форуму
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 20.03.06 10:53. Заголовок: Сергею Р
В том-то вся и проблема, что борланд со своей задачей справляется только частично! Т.е. компилятор работает на ура (все OBJ-файлы я скомпилировал), а вот борландовский линковщик ILINK32 выдаёт вышеуказанную ошибку и я не знаю, чем она вызвана! Ошибка возникает именно на этапе линковки, поэтому я и спрашивал, каким должен быть линковочный файл - может, кто с борландом конкретно работает... xMate поможет мне СОБРАТЬ программу из готовых OBJ?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 20.03.06 11:51. Заголовок: Re:
Может быть у тебя кривые OBJ (например досовские) , как ты их получил ? xMate поможет , только все настроить правильно надо (это большой инструмент).
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 23.03.06 21:57. Заголовок: Сергею Р
OBJ-файлы я получил, компилируя C-модули борландовским компилятором BCC32.EXE, а С-модули, в свою очередь - компилируя xHarbourом клипперовские PRG-модули. Так что до момента линковки всё путём, я потому и предположил, что я может в LNK-файле что-то не так пишу?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 23.03.06 22:50. Заголовок: Re:
Попробуй так : ............ main.exe, + main.map, + ..\lib\bcc640.lib + ..........
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 25.03.06 02:37. Заголовок: Сергею Р
Попробуй так : ............ main.exe, + main.map, + ..\lib\bcc640.lib + .......... Получаю: Fatal: Unable to open file 'MAIN.MAP' что в общем и понятно - у меня такого файла и нет...
|
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 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
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 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' Знать бы только, что это означает? С какой стати он должен быть открыт, это же файл-результат, линковщик его создавать должен, а не открывать!
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 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
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 26.03.06 00:39. Заголовок: Сергею Р
Линковка у меня практически такая же, только .MAP-Файла нет... Ладно, завтра попробую в точности повторить твой сценарий. Большое спасибо, что столько со мной возишься!
|
|
|
|