Форум » [x]Harbour » Переход на xHarbour 1.2.3 (Build 20130705) » Ответить

Переход на xHarbour 1.2.3 (Build 20130705)

Andrey: Всем привет. Помогите пожалуйста понять в чем дело. Сидел до этого на xHarbour build 1.2.1 (Rev. 6406) Решил перейти на новый: Переход на xHarbour 1.2.3 (Build 20130705) И облом... Выдает непонятную ошибку в исходнике, который до этого нормально собирался в 1.2.1 (Rev. 6406): xHarbour 1.2.3 Intl. (SimpLex) (Build 20130705) Copyright 1999-2013, http://www.xharbour.org http://www.harbour-project.org/ Compiling 'PRG\EXPRT_UK.PRG'... 100200300400100100200100100200300400500600700800900100011001200130014001500160017001800 1 error No code generated Где ошибка, в какой строке ? Или что-то поменяли в компиляторе....

Ответов - 35, стр: 1 2 All

Andrey: Файл - EXPRT_UK.PRG состоит из 4147 строк. Отдельно откомпилировал, выдает ошибку: EXPRT_UK.prg(1816) Error E0016 Syntax error: 'сHOUSEERC' EXPRT_UK.prg(1816) Warning W0007 Function 'DOG_EXP_ADRES_TXT' does not end with RETURN statement Переменная 'сHOUSEERC' - первая буква РУССКАЯ "с" ! Фигня какая... А старый компилятор пропускал...

Dima: Andrey пишет: Переменная 'сHOUSEERC' - первая буква РУССКАЯ "с" Ты же сам где то писал что Harbour более строг к этому делу , почему сразу на него не перейти ?

Andrey: Dima пишет: Ты же сам где то писал что Harbour более строг к этому делу , почему сразу на него не перейти ? Не могу. Завяз в доработках. Но переходить буду все равно. Теперь другая беда: Compiling... Z:\xHarbour\bin\harbour VersionUpDate.prg -n -q0 -gc -iZ:\xHarbour\include -p -w VersionUpDate.prg(383) Error E0016 Syntax error: '  ' VersionUpDate.prg(383) Warning W0007 Function 'CHECKVERSIONABONENT4' does not end with RETURN statement 383 строка:    IF VAL( cStatus[2] ) == 200 384 строка: IF cResponse HAS RegVersion .AND. cResponse HAS RegLink Где ошибка ? Букву перепроверил по всему тексту ! И где взять расшифровку: Error E0016 ? Сделал по другому: 383: xTemp := cStatus[2] 384:   IF VAL( xTemp ) == 200 Все равно ошибка: VersionUpDate.prg(384) Error E0016 Syntax error: '  '


Dima: А если просто пример собрать , скомпилится ? [pre2] proc main local xtemp:="200" ? val(xtemp) if val(xtemp)==200 ? "OK" else ? "Bad" endif return [/pre2] Скорее всего в начале программы стоит какой то кривой #include

Andrey: Нашел в чем дело.... Строка 384 в WIN-кодировке: яя IF VAL( xTemp ) == 200 Строка 384 в DOS-кодировке: IF VAL( xTemp ) == 200 Из-за этого компилятор 1.2.3 выдает ошибку, а 1.2 просто пропускал... яя - это CHR(255)+CHR(255) Как так получился, даже не знаю. В Far (ДОС-кодировке) и Me7.0 не видно этих знаков вообще...

Andrey: В xHarbour 1.2.3 (Build 20130705) нет библиотеки gtwvg.lib В папке xHarbour\contrib\gtwvg нет сборочного файла для BCC. Как собрать библиотеку gtwvg.lib ? Переписал батник из 1.2, библиотеку собрал. Только программа моя не собирается, выдает такую ошибку: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: Unresolved external '_hb_stack_ready' referenced from Z:\XHARBOUR\LIB\GTWVG.LIB|gtwvg Демо пример из папки, тоже не собирается: Error: Unresolved external '_hb_stack_ready' referenced from Z:\XHARBOUR\LIB\GTWVG.LIB|gtwvg Error: Unresolved external '_hb_set' referenced from Z:\XHARBOUR\LIB\GTWVG.LIB|gtwvg Помогите собрать библиотеку...

Andrey: Подскажите пожалуйста, как переназчить вывод ошибок в файл для хХарбора ? Делаю так bld_b32.bat module2 >err.log А в нем остается только: Compiling... Z:\xHarbour\bin\harbour MODULE2.prg -n -q0 -gc -iZ:\xHarbour\include -p -w Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Error E2194: Could not find file 'MODULE2.c' А ошибок нет !

yury: bld_b32.bat module2 1>compile.log 2>err.log как-то так..

AlexMyr: yury пишет: bld_b32.bat module2 1>compile.log 2>err.log как-то так.. Или так bld_b32.bat module2 %1 %2 > err.log 2>&1

Andrey: Уф... Перенес проект на версию 1.2.3... И труба... Чтение ини-файла не работает... Неужели так кардинально отличается версия 1.2.1 (Rev. 6406) от 1.2.3 (Build 20130903) ?

Dima: Andrey Полистай changelog на предмет изменений в этом плане ЗЫ А может снова косяк твой где то в виде кирилицы в именах переменных

Andrey: В именах переменных все ошибки убраны, иначе не скомпилировался бы ехе-ник. Да, точно кириллица есть, но в ини-файле. А как теперь правильно подключить русскую кодировку для 866-таблицы ? Может быть неправильно я делаю это у себя...

Andrey: хХарбор версия 1.2.1 (Rev. 6406) aDim := { 3085148801, 2 , "Тест", 00.00.00 } - компилируется. хХарбор версия 1.2.3 (Build 20130903) aDim := { 3085148801, 2 , "Тест", 00.00.00 } -НЕ компилируется. С одной стороны - правильно. С другой... А и нет другой... Нашел эту ошибку у себя в ини-файлах....

Dima: Andrey пишет: aDim := { 3085148801, 2 , "Тест", 00.00.00 } -НЕ компилируется Кхм.... 4 элемент это новый тип переменной ? Andrey пишет: С одной стороны - правильно Это с какой ? Andrey пишет: хХарбор версия 1.2.1 (Rev. 6406) aDim := { 3085148801, 2 , "Тест", 00.00.00 } - компилируется. Да в баню такой компилятор ! PS Harbour 3.2 при компиляции Error E0030 Syntax error "syntax error at '.00'" Clipper 5.2 при компиляции Error C2001 Syntax error: '.00' Вопросы есть ?

Andrey: Dima пишет: Да в баню такой компилятор ! +1 Dima пишет: Вопросы есть ? Конечно нет !

Andrey: Кто знает как в HBMAKE сделать чтобы лог линковки выводился в отдельный файл ?

Andrey: Приплыли... Вот что при компиляции нового хХарбора теперь выдается: И как теперь найти ошибку ?

Dima: Andrey Попахивает кирилицей в переменных.

Andrey: Dima пишет: Andrey Попахивает кирилицей в переменных. Нет кириллицы. Взял, отдельный файл, скопировал туда все нужные (свои) ch и запустил на трансляцию.. Получи вот что: Z:\xHarbour\bin\harbour FastReport9.prg -n -q0 -gc -iZ:\xHarbour\include -p -w FastReport9.prg(122) Error E0003 Duplicate variable declaration: 'LRET' Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland Error E2194: Could not find file 'FastReport9.c' Это что за фигня получается... При каждой ошибке ручками транслировать ошибочный файл ?

ММК: Andrey пишет: Это что за фигня получается... При каждой ошибке ручками транслировать ошибочный файл ? Скорее всего привести в порядок свой батник для построения http://forums.fivetechsupport.com/viewtopic.php?f=3&t=26587&hilit=comp+log

Dima: ММК Он батник не юзает у него что типа hbmake myprog.bc Andrey пишет: Это что за фигня получается... При каждой ошибке ручками транслировать ошибочный файл ? Это не фигня , внимательнее нужно быть.

Andrey: Dima пишет: Он батник не юзает у него что типа hbmake myprog.bc Да, я через hbmake работаю... Что там подправить нужно, чтобы создавать нормальный лог-ошибки ? Может в самом harbour.cfg - что то поменять можно ?

PSP: Сменить компилятор

Andrey: PSP пишет: Сменить компилятор

rvu: У меня тоже проблема с переходом на новый xHarbour. Долгое время сидел на xHarbour 1.0.0. Всем устраивал, но сильно он устарел, многого в нем нет. Использовал библиотеки harbour.lib и dllmain.lib. Программа консольная. Скачал новый xHarbour 1.2.3. Программа компилируется без ошибок, а запускаться не хочет. Пишет: ошибка 9013 no starting procedure. Беру любой пример, любую простенькую программу из 2 строк, то же самое. Что-то я делаю не так. Или библиотеки нужные не подключил или еще что-то. Перерыл форум, ничего по теме не нашел.

Pasha: Скорее всего при сборке используются библиотеки от старой версии xHb. И совет. Если уж переползать на новую версию, то лучше сразу на Harbour. xHarbour практически мертв, и уже давно.

Dima: Pasha пишет: Если уж переползать на новую версию, то лучше сразу на Harbour +1

rvu: Pasha пишет: Скорее всего при сборке используются библиотеки от старой версии xHb. Нет, от новой. А какие библиотеки нужны для консольной версии? Pasha пишет: лучше сразу на Harbour Попробую. А в харборе какие библиотеки для консольной версии брать? Использую bcc32. Пробую харбор. Компилирует без ошибок, а затем bcc выдает (gt32 - название программы): gt32.c: Error E2257 gt32.c 20: , expected Error E2451 gt32.c 23: Undefined symbol 'hb_vm_SymbolInit_GT32' Error E2141 gt32.c 48: Declaration syntax error

Pasha: Ни на проблему со сборкой c xHarbour, ни на проблему со сборкой c Harbour ответить невозможно, не видя процедуры сборки. Что касается Harbour, то собирайте с помощью hbmk2. Процедура там простейшая, и проблем не будет.

rvu: xHarbour 1.0.0 \hb1\bin\harbour gt32 bcc32 -r gt32.c \hb1\lib\harbour.lib \hb1\lib\dllmain.lib Все работает. xHarbour 1.2.3 \xhb\BIN\harbour gt32 bcc32 -r gt32.c \xhb\lib\xharbour.lib \xhb\lib\gtwin.lib \xhb\lib\vm.lib No starting procedure. Файлы .ch .h лежат в той же папке, где и .prg, поэтому их не указываю. Естественно, они от соответствующей версии взяты.

rvu: Pasha пишет: Что касается Harbour, то собирайте с помощью hbmk2. Процедура там простейшая, и проблем не будет. Вроде, пошел процесс, спасибо!

Петр: rvu пишет: xHarbour 1.2.3 \xhb\BIN\harbour gt32 bcc32 -r gt32.c \xhb\lib\xharbour.lib \xhb\lib\gtwin.lib \xhb\lib\vm.lib Вообще-то для новичков существуют стандартные bld_b32.bat и bld.bat

rvu: Pasha пишет: Если уж переползать на новую версию, то лучше сразу на Harbour. xHarbour практически мертв, и уже давно. На сайте Харбора лежит версия 3.0.0 от 2011-07-17. Тоже не самая свежая.

PSP: rvu пишет: На сайте Харбора лежит версия 3.0.0 от 2011-07-17. Тоже не самая свежая. А еще там есть "Source snapshot" и "Nightly binary (Win)". Свежее не бывает. А еще есть https://github.com/vszakats/harbour-core И вот это тоже полезно: http://kresin.ru/

Dima: http://clipper.borda.ru/?1-4-0-00000840-000-0-0-1375721378 Первый линк ведет на мастер архив



полная версия страницы