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





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 07.12.05 17:34. Заголовок: Как пересобрать xHarbour?


Есть необходимость пересобрать xHarbour c опцией HB_THREAD_SUPPORT: в частности в Rtl.lib некоторые модули написаны для использования только этой опции
(напрмер Trpc.prg). Если использовать штатный makallbc.bat - то проект собирается без этого модуля - всесто него появляется пустой Trpc.c. Соответственно и в Rtl.lib этого класса нет. И при сборке примерчика появляется неизвестная ссылка. В батчике эта опция вроде бы присутствует, но отрабатывется как-то странно.
Кто-нибудь с подобным сталкивался?

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





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 08.12.05 11:20. Заголовок: re: Как пересобрать xHarbour?


Компилер minGW работает хорошо. Для сборка xHarbour-a необходимо примерно:
evn.bat файл:
@echo off

set HB_BIN_INSTALL=..\bin
set HB_LIB_INSTALL=..\lib
set HB_INC_INSTALL=..\include
path = %path%;c:\xHarbour.minGW\bin;c:\Program files\GnuWin32\bin
goto %1%

REM xHarbour Borland C++ 4.x, 5.x, Windows 32-bit evn
:bcc32
path = %path%;c:\Borland\BCC55\bin
set HB_BIN_INSTALL=c:\xHarbour\bin
set HB_LIB_INSTALL=c:\xHarbour\lib
set HB_INC_INSTALL=c:\xHarbour\include
set HB_ARCHITECTURE=w32
set HB_COMPILER=bcc32
set HB_GT_LIB=gtwin
goto quit

REM xHarbour Cygnus/MinGW GNU C, Windows 32-bit evn
:mingw32
path = %path%;c:\MinGW\bin
set HB_BIN_INSTALL=c:\xHarbour.MinGW\bin
set HB_LIB_INSTALL=c:\xHarbour.MinGW\lib
set HB_INC_INSTALL=c:\xHarbour.MinGW\include
set HB_ARCHITECTURE=w32
set HB_COMPILER=mingw32
set HB_GT_LIB=gtwin
goto quit

:quit
и шорткут:
%SystemRoot%\system32\cmd.exe /K"C:\xHarbour.minGW\xHarbour evn.bat" mingw32
от промта в директории source команда:
mingw32-make

Спасибо: 0 
Профиль
Администратор




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


Почти все библиотеки харбора уже собраны в обычном и mt (с суффиксом mt)
режиме
Чтобы собрать программу в multithread режиме, надо линковать ее с
библиотеками rtlmt.lib, vmmt.lib и так далее

Для сборки своей программы в bld_b32.bat достаточно добавить:

set HB_MT=mt

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





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


Pasha

Большое спасибо. Это вселяет надежду.
Продолжу свои исследования дальше:)

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





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


Pasha

Теперь появилась новая бяка

Error: Unresolved external '__endthreadex' referenced from E:\HARBORS\XHARBOUR\L
IB\VMMT.LIB|thread
Error: Unresolved external '__beginthreadex' referenced from E:\HARBORS\XHARBOUR
\LIB\VMMT.LIB|thread

С этим я вчерась уже пробовал играться - ничего не помогло





Спасибо: 0 
Профиль
Администратор




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


Проверь внимательно сборку
Для режима mt должны использоваться ВСЕ mt-библиотеки, какие есть
И еще флаг для bcc: -tWM
Все это учтено в стандартном батнике bld_b32, может я не все упомянул,
надо внимательно смотреть батник
Я больше года назад собирал эти тесты, и проблем не было


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





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


Pasha

Спасибо понял

Пожелания по FAQ'у принимаешь?

Спасибо: 0 
Профиль
Администратор




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


да, конечно

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





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


Pasha

Спасибо.
1. Хорошо бы описать за что какой режим сборки отвечает, в частности
вот эта HB_MT=mt. И наверное есть еще. (по исходникам там полно всяких вариантов). В примерах не указывается как их надо собирать - а как правильно собирать знать как-то надо:)

2. Хорошо бы где-нибудь описать какая библиотека за что отечает, можно даже
поделить их на обязательные, дополнительные и специфические.
Да в принципе когда человек поднатореет он и по исходникам полазает, а поначалу
очень тяжко.

3. Опции Bcc. В прнципе есть ссылочка по этой тематике - если подойдет можно просто ее привести, а можно коротенько табличку привести. А то без знания опций
(особенно этой -с) тоже тяжко получается.

zeus.sai.msu.ru:7000/programming/bcpp/

4. Может ошибаюсь, но в манускрипте не углядел упоминания по HBMAKE - а вещь достаточно удобная и любопытная (ну мне как начинающему:)) Хорошобы хотябы упомянуть - дескать может работать и так и эдак и нужна для того-то и того-то.

Это пока вот все что упало на мой лоб:) в процессе первых шагов:)



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