On Wed, 12 May 2010, Pritpal Bedi wrote:

Hi,

> > It's completely unimportant which code exploited the problem in
> > visible way. Important is only that you are mixing files compiled
> > for ST and MT mode (with and without -tWM flag) during linking
> > final application and this is the source of your problem.
> > All what you have to do is eliminating it.
> This is probably the _REAL_ cause.
> I have checked, if not otherwise nullified, even if -st flag is 
> sent to hbMK2, it always compiles C code as :
> bcc32.exe -c -q -tWM -d -6 -O2 -OS -Ov -Oi -Oc -w -Q -w-sig-
> -nE:\dev_hbmk\xharbour\obj\cacherdd -IC:\xharbour\include
> -ID:\Projects\CacheRDD\Include E:\dev_hbmk\xharbour\obj\cacherdd\CacheRDD.c 
> and in link script "cw32mt.lib" is visible.
> So I need to wait till Viktor's response.

I've just check HBMK2 code and I do not know if Viktor can help you much.
In fact the problem is that xHarbour uses different switches for MT and
ST libraries and not all core libraries are compiled for MT mode. It
means that all xHarbour MT BCC binaries are potentially broken because
they contains code compiled for MT and ST mode. Such things cannot
be fixed by HBMK2. You simply need xHarbour binaries fully recompiled
with -tWN. Otherwise it may not be safe to create any MT application.
Anyhow if you do not need any MT code and you are creating only ST
applications then it should be enough to add some switch to HBMK2 which
will force ST in BCC compiler and linker but only in XHB compatibility
mode. Harbour is correctly compiled and linked in MT safe mode so Viktor
cannot use -st switch for it because it would break correctly compiled
Harbour and xHarbour binaries. It has to be sth different, i.e. -xhb
switch can be extended to -xhb[st].

best regards,
Przemek
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to