Hello,
I got a lot of a replys - but th eproblem is still there.
Since several persons have proposed to switch to the newest version in
cvs, but at the moment on windows I do not have the posiblity to
recompile ROOT, it is probably the best solution to wait for the new
binaries of ROOT 4.00/03 win32gdk.
So here I give a summary of the problem:
The idea was to try to run our ROOT based Linux software also on Windows
XP SP1 with Visual C++ 6.0 SP5 without using the cygwin environment.
I started with the binaries of ROOT v3.10/02 win32gdk (the recommended
version) and got everything to compile and link.
The one and only problem was that each call like
cout<<TString("A TString")<<endl; crashes the program.
Commenting out all those appearances, the program (consisting out of ~50
classes) runs flawlessly and reproduces the results gained on Linux.
I encapsulated the problem into the small program:
#include <Riostream.h>
#include "TString.h"
int Macro()
{
cout<<"Let's crash:"<<endl;
cout<<TString("CRASH")<<endl;
return 0;
}
Compiling this in CINT with .x Macro.C+ the program crashes in the
marked line, as it does when I compile it in Visual C++
Switching to the binaries of ROOT v4.00/02 win32gdk resulted in the same
behaviour. In detail, I use: "win32gdk, 4.0.2 from
WindowsXP/NT/w2000 with VC++ 7.0 (runs with VC++6), version 4.00/02
(good old tar file) **WIN32GDK**"
Compiling the programs in $ROOTSYS/test leaded to a crash during the
execution of the program tstring (no output was generated), but others
like event.exe run flawlessly. Here is the requested output of nmake:
C:\Daten\Root\r040002\test>nmake -f Makefile.win32
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
cl -DWIN32 -D_WIN32 -D_MT -D_DLL -MD -EHsc -nologo -G5 -GR
-MD -DWIN32
-DVISUAL_CPLUSPLUS -D_WINDOWS -IC:\Daten\Root\R040002/include -O2 -c
tstring.c
xx
tstring.cxx
link -opt:ref /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE
/NOLOGO -
subsystem:console,4.0 -nologo tstring.obj
C:\Daten\Root\R040002/lib/libCore.lib
C:\Daten\Root\R040002/lib/libCint.lib
C:\Daten\Root\R040002/lib/libHist.lib C:
\Daten\Root\R040002/lib/libGraf.lib
C:\Daten\Root\R040002/lib/libGraf3d.lib C:\
Daten\Root\R040002/lib/libGpad.lib C:\Daten\Root\R040002/lib/libTree.lib
C:\Dat
en\Root\R040002/lib/libRint.lib
C:\Daten\Root\R040002/lib/libPostscript.lib C:\
Daten\Root\R040002/lib/libMatrix.lib
C:\Daten\Root\R040002/lib/libPhysics.lib ms
vcrt.lib oldnames.lib kernel32.lib ws2_32.lib mswsock.lib advapi32.lib
user32.l
ib gdi32.lib comdlg32.lib winspool.lib MSVCPRT.LIB -out:tstring.exe
"tstring.exe done"
Unfortunately up to now, nobody seems to be able to reproduce the
problem. ;-((
But there are rumours that a fix is already in cvs. So it is probably
the best idea to wait until somebody compiles a new version of win32gdk.
Thanks and Ciao,
Andreas
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET