Форум » [x]Harbour » Буэнос диос, амогос » Ответить

Буэнос диос, амогос

SergeJaHome: Камрады, привет, давненько не писал (с тех пор, как похерили мой аккаунт SergaJa, обидно стало, ага -- админы, э?). По делу - чтой-то не могу разобраться. 1. ключик /es1 -- ругнуться на варнинги, но сбацать оbj /es2 - ругнуться, и не делать (ага, что, что надо) но вроде переборщил Пржимек с варнингами. deckared but not using или излишне assigned -- это круто, но.. какой /w ПРОСТО игнорит сиё? но это мелочи. 2. билджу проект hbmk2.exe, харбор свежий, с SVN, собран mingw32 из tdm-gcc-4.6.1 Дабы выяснить отличия от xH, убрал переходники и замены sx_* и ct-функций (делал много лет назад для xH). посыпалиcь unresilved external Но, свинство, minGW игнорирует ">qqq", вываливает аут на экран, что фатально.. (командная строка для линкера длинная, экран весь занимает - проект большой). Моэ, это беда MinGW? Мож надо там поругаться? 3. QT (хочется пощщупать Притпал-Беддиевский IDE) - взял тут: http://get.qt.nokia.com/qt/source/qt-win-opensource-4.8.0-mingw.exe собираю, харбор орёт ! '../contrib/hbqt/qtcore/hbqtcore.hbp' returned status: 10 4. Мож я выбрал скверно компиллятор для проб? BCC, конечно, славен и проверен, но им H не собирается, max версия 2007, не юникодная. мож MS попробовать? Интересует max скорость И как собрать с QT? Да и вообще.. Гуру, Паша, хелп... Советов жду..

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

AlexMyr: SergeJaHome пишет: Но, свинство, minGW игнорирует ">qqq", вываливает аут на экран, что фатально.. (командная строка для линкера длинная, экран весь занимает - проект большой). Моэ, это беда MinGW? Мож надо там поругаться? Цитата с install - To redirect all output to a log file, append this after the make command: '> log.txt 2>&1' (without quotes)

Dima: SergeJaHome пишет: с тех пор, как похерили мой аккаунт SergaJa Не моя работа 100%

SergeJaHome: Дима, просьба восстановить аккаунт (была одна красная звезда:), грешен, зашёл в форум с офисного по уделёнку, потом с домашнего.. За outStd спасибки, помогло :)


Vlad04: И как собрать с QT? Докладывай об успехах, то же интересно.

SergeJaHome: OBJ/MinGw/myProj.o:myProj.c:(.data+0x1488): undefined reference to `HB_FUN(int0_t) static' collect2: ld returned 1 exit status hbmk2: Error: Running linker. 1 вот такая вот ерунда. не победить никак...

Сыроежка: Не надо опускать руки! Попробуйте тоже самое написать строчными буковками: hb_fun(int0_t) static Есть еще такой вариант HB_FUNC вместо HB_FUN Короче говоря, мыслите креативно!

SergeJaHome: Сыроежка пишет: то же самое написать Сыроежка, а куда написать? Папе Римскому? Нет ссылок на вызов ни в объектниках, ни в библиотеках. только в \MinGW32\bin: gdb-python27.exe & gdb.exe

Сыроежка: Эта ошибка undefined reference to `HB_FUN(int0_t) static' связана с тем, что встретилось имя, которое не определено. Это может быть по двум причинам. Либо не подключена библиотека или объектный модуль, где определяется это имя, либо неправильно задано имя в виду опечатки. Например, язык С чувствителен к регистру написания идентификаторов. Вообще-то указывается на место в вашей программе myProj.c.

SergeJaHome: ага, нашёл. причина.. во как, глубоко зарыто! #ifdef _SIX_ REQUEST _SIX rddRegister( "SIX", 1 ) rddsetdefault( "SIX" ) #endif _SIX_

Pasha: SergeJaHome пишет: Дима, просьба восстановить аккаунт (была одна красная звезда:), грешен, зашёл в форум с офисного по уделёнку, потом с домашнего.. Я тоже никогда не лазил в чужих учетках. Думаю, здесь таких вредителей нет. Помнится, у Григория тоже когда-то слетела учетка, он перерегистрировался. Наверное, был какой-то глюк форума. Сейчас учетки SegreJa нет, и поэтому восстановить ее нельзя.

SergeJaHome: Паша, не смог собрать QT-IDE, увы, научи... Заодно скажи, 1. как достичь max-производительности. Я про ключики компиляторАМ (H и C) и линкеру. 2. "скрытые" ключики H и xH. Как их 100% отличить? Понятно, что в скрипте можно любое написать, но.. Вот, например #ifdef _SIX_ -- фиг поймёшь, что в "H" он есть.. Жалуюсь (победю, конечно, но...): Раньше делал классы - примерно так, на "команды" пару десяткофф лет забил, ибо не люблю (а, выходит, зря..) FUNC TNewClassName STATIC hClass:=NIL LOCAL aNames, oRez If hClass == NIL aNames := { ; 'Fld1', 'Fld2 } // этот набор рантайм строится.. hClass := HBClass():New( "TNewClassName", __CLS_PARAM ('TParentClassName') ) aEval( aNames, {|c| hClass:AddData( c ) }) hClass:AddInline( 'Func',{|Self| InlineForFunc(Self) } ) EndIF oRez := hClass:Instance() <.. тут всяких моих вызовов виртуальных функций..> Return oRez и кирдык! Глянул нонешние ppo - засада.. На "H" перейти с "xH" сложно, Прижимек наменял изрядно за 2 года... ииех...

Pasha: Я сам qt не использую, поэтому помочь со сборкой не смогу. По поводу производительности: пожалуй, для компилятора есть только один ключ: -gc3 При этом компилятор создает не пи-код, а реальный C-код, который выполняется быстрее, но при этом размер программы получается больше. Что касается флага _SIX_, то я, честно говоря, его не вижу Но его можно и не использовать: просто в своей программе выдать REQUEST _SIX rddRegister( "SIX", 1 ) rddsetdefault( "SIX" ) Я сам переходил с xH на H, но у меня проблемы были в основном с именами функций или их параметрами: некоторые функции называются по-другому, или работают немного по-другому. Что касается классов, то здесь ничего не поделаешь, надо исользовать стандартные команды

SergeJaHome: Всем привет. Собрал проект на H (17781 2012-07-06 08:14:14Z), MinGW32 (tdm-1) 4.6.1).. вопросы 1. как убедить hbmk2 не линковать лишние библиотеки? 2. как убедить H понимать русские буквы? программка консольная, все в OEM

SergeJaHome: 2 решил. hb_cdpSelect( "RU866" ) -- эх, я..

Pasha: SergeJaHome пишет: 1. как убедить hbmk2 не линковать лишние библиотеки? Попробуйте использовать флаги -nohblib -nodefgt -nomiscsyslib

SergeJaHome: Всем привет. H быстрее xH почти в 3 раза.. Но.. Harbour 17781 2012-07-06 08:14:14Z, MinGW32 tdm-1 4.6.1. qqq.prg: PROC qq USE qqqqqqqq // несуществующий файлик.. RETURN EXIT PROC zzzz CLOSE ALL // <-- а вот тут страшный вылет с предложением отправить отчёт в MS RETURN qqq.hbp (для hbmk2): -platform=win -compiler=mingw /n /m /a /w /es2 -o.\qqq.exe -inc -workdir=.\OBJ qqq.prg Вылет такой: Unrecoverable error 6005: Exception error: Exception Code:C0000005 Exception Address:000A0000 EAX:00EBD340 EBX:00EBD34C ECX:0000000A EDX:0050C328 ESI:00000000 EDI:00000000 EBP:00000000 CS:EIP:001B:000A0000 SS:ESP:0023:0022FA2C DS:0023 ES:0023 FS:003B GS:0000 Flags:00010246 CS:EIP: SS:ESP: 004B33F4 00EBD34C 00000002 00000005 0022FBCC 00000000 7C911596 7C9106EB 0050CFA4 00000298 0022FB7C 00000002 00341EAC 00000F30 00350640 000006F8 Повторяется ли?

santy: где - H быстрее xH почти в 3 раза?? Пример можна.

Dima: santy пишет: где - H быстрее xH почти в 3 раза?? Где то была тема в которой Pasha это показывал , не уверен на счет 3-х раз правда ;)

Pasha: SergeJaHome пишет: Повторяется ли? Ага CLOSE ALL переводится как dbCloseAll() dbSelectArea( "1" ) __SetFormat(NIL) gpf возникает на dbSelectArea( "1" ) Надо писать в dev list. Но Przemeka там сейчас не видно, наверное на морях отдыхает.

SergeJaHome: озвучил проблему тут: https://sourceforge.net/tracker/?func=detail&aid=3542005&group_id=681&atid=100681

Pasha: Dima пишет: Где то была тема http://clipper.borda.ru/?1-4-100-00000675-000-0-0-1317622531 Результат такой же Недавно я сравнивал 3.2dev с 3.0. Harbour стал работать еще чуть-чуть быстрее.

santy: Спасибо. Протестирую. Судя по последним изменениям xHarbour - готовиться второй релиз. Много библиотек портируется из Harbour. Идёт коректировка и для mingw. 2012.07.10 15:47:54 Windows XP Professional 5.01.2600 Service Pack 3 xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9437) Borland C++ 5.5.1 (32 bit) ? THREADS: 0 N_LOOPS: 1000000 [ total application time: ]....................................36.28 [ total real time: ]...........................................36.73 ----------------------- 2012.07.10 16:13:20 Windows XP Professional 5.01.2600 Service Pack 3 xHarbour build 1.2.1 Intl. (SimpLex) (Rev. 9437) (MT) Borland C++ 5.5.1 (32 bit) ? THREADS: 0 N_LOOPS: 1000000 ==================================================================== [ total application time: ]....................................54.47 [ total real time: ]...........................................54.83

SergeJaHome: Przemek, видать, застрял на морях не фисит никто мою багу... грустно... в вот xH опять воспрял, много сбросов в cvs, а в H только славный индиец ваяет IDE. Увы, не удаётся собрать его творение, ругается H вместе с QT. линкер ругается примерно так: ! 'hbide/hbide.hbp' returned status: 7 'failed in final assembly'. мож ему почесать где, э?

Pasha: Pasha пишет: CLOSE ALL переводится как dbCloseAll() dbSelectArea( "1" ) __SetFormat(NIL) Там много надо раскапывать, чтобы понять, почему в exit-процедуре на выделенном операторе возникает gpf Пока Przemek отдыхает, замените команду CLOSE ALL на функцию dbCloseAll()

Pasha: Я смотрю, на SVN есть позавчерашний коммит от Przemeka



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