Hello Please, find the corrections to compile root under "Microsoft Studio NET." It was tested to build ROOT 3.03.09 with Qt 3.1.0 and Windows XP look and feel (see http://root.bnl.gov ) (with no optimization though :-( (rrrr) [192] cvs diff -u base/inc/RConfig.h build/win/bindexplib/bindexplib.cx x Index: base/inc/RConfig.h =================================================================== RCS file: /user/cvs/root/base/inc/RConfig.h,v retrieving revision 1.46 diff -u -r1.46 RConfig.h --- RConfig.h 2002/07/29 09:20:25 1.46 +++ RConfig.h 2002/12/04 02:07:17 @@ -1,4 +1,4 @@ -/* @(#)root/base:$Name: $:$Id: RConfig.h,v 1.46 2002/07/29 09:20:25 rdm Exp $ */ +/* @(#)root/base:$Name: v3-03-09 $:$Id: RConfig.h,v 1.46 2002/07/29 09:20:25 rdm Exp $ */ /*********************************************************************** ** * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * @@ -333,6 +333,9 @@ # define ANSICPP # define R__VECNEWDELETE /* supports overloading of new[] and delete[] */ # define R__PLACEMENTDELETE /* supports overloading placement delete */ +# if _MSC_VER > 1200 +# define R__ANSISTREAM /* ANSI C++ Standard Library conformant */ +# endif #endif #ifdef __MWERKS__ Index: build/win/bindexplib/bindexplib.cxx =================================================================== RCS file: /user/cvs/root/build/win/bindexplib/bindexplib.cxx,v retrieving revision 1.2 diff -u -r1.2 bindexplib.cxx --- bindexplib.cxx 2002/04/10 18:20:29 1.2 +++ bindexplib.cxx 2002/12/04 02:07:17 @@ -382,11 +382,20 @@ */ if (!strstr(s,"AEPAXI@Z") && !strstr(s,"real@")) { - fprintf(fout, "\t%s", s); SectChar = pSectionHeaders[pSymbolTable->SectionNumber-1].Characteristics; - if (!pSymbolTable->Type && (SectChar & IMAGE_SCN_MEM_WRITE)) // Read only (i.e. constants) must be exclude - fprintf(fout, " \t DATA"); - fprintf(fout, "\n"); + if (!pSymbolTable->Type && (SectChar & IMAGE_SCN_MEM_WRITE)) { + // Read only (i.e. constants) must be excluded + fprintf(fout, "\t%s", s); + fprintf(fout, " \t DATA"); + fprintf(fout, "\n"); + } else { + if ( pSymbolTable->Type || !(SectChar & IMAGE_SCN_MEM_READ)) { + fprintf(fout, "\t%s", s); + fprintf(fout, "\n"); + } else { +// printf(" strange symbol: %s \n",s); + } + } } } } My best regards, Valeri > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch] > On Behalf Of Masaharu Goto > Sent: Monday, December 02, 2002 5:22 PM > To: Axel Naumann > Cc: Marc Irsch; cint@pcroot.cern.ch; roottalk@pcroot.cern.ch > Subject: [ROOT] Re: Cint and MSVC7 > > Hello Alex, > > Thank you for trying this. Let me look into this. Meanwhile, > will you send me the modified bcvstrm.cxx? I'll try to generate > vc7strm.cxx out from it. > > There is another person who is compiling Cint (pure cint) with > VC++7.0. Sounds like he uses vcstrm.cxx and his original > VC++6.0 setup as is. Just for your information. > > Thank you > Masa Goto > > ======================================================= > Marc Irsch(marc@computerspacken.org) wrote: > > MG> I don't think debug and release build make big difference. It is > encouraging > MG> that you can run Cint with VC++7.0. We have several people who have > MG> VC++7.0 and having problem with Cint. It will be quite helpful if you > MG> provide us some information. > > MG> - How you compiled Cint with VC++7.0? > MG> a. with platform/visual/setup.bat script > MG> b. with src/libcint/libcint.mdp and cint/cint.mdp > MG> c. other > > The answer is c. I built my own project files on VC++ 6.0 and > imported them on VC++ 7.0 later on. > Worked immediately, without any modification. > > I didn't use the setup files with VC++ 7.0 yet. > > MG> - Which iostream dictionary file did you use? > MG> a. src/libstrm.cxx > MG> b. src/vcstrm.cxx > MG> c. src/cbstrm.cxx > MG> d. src/gcc3strm.cxx > MG> e. src/fakestrm.cxx > MG> f. other... > > b. > > MG> - I guess you compiled libcint.dll and cint.exe. How about other > MG> libraries > MG> especially precompiled STL container class libraries. > MG> stl/string.dll , stl/vector.dll , stl/list.dll , > stl/deque.dll , > MG> stl/map.dll , etc... > > Nope, sorry. Never touched these files. > > Regards, > Marc > > > > ----- Original Message ----- > From: "Axel Naumann" <axel-naumann@gmx.de> > To: "'Masaharu Goto'" <MXJ02154@nifty.ne.jp> > Sent: Tuesday, December 03, 2002 3:00 AM > Subject: Cint and MSVC7 > > > > Dear Masa, > > > > I finally sat down and tried to build CInt (well, Root's version of > > CInt) with Microsoft Visual C++.NET. As you suggested during the root > > workshop I started out with the bcstream files. Those worked quite well, > > the only changes I had to make were > > * remove wrappers to streambuf::sputn and sgetn (not supported by MSVC's > > streambuf) > > * fstreambase and strstreambase (they are not base classes for MSVC's > > fstream and strstream, only iostream is base for strstream): Remove > > class setup, method wrappers and inheritance setup > > * remove wrapper to strstreambuf::doallocate (declared as protected in > > MSVC) > > > > > > Now all I'm left with is > > > > libCint.exp : error LNK2001: unresolved external symbol > > _CT??_R0?AVexception@@@8 > > ??0exception@@QAE@ABV0@@Z12 > > libCint.exp : error LNK2001: unresolved external symbol > > _CT??_R0?AVlength_error@ > > std@@@8??0length_error@std@@QAE@ABV01@@Z40 > > libCint.exp : error LNK2001: unresolved external symbol > > _CT??_R0?AVlogic_error@s > > td@@@8??0logic_error@std@@QAE@ABV01@@Z40 > > libCint.exp : error LNK2001: unresolved external symbol > > _CT??_R0?AVout_of_range@ > > std@@@8??0out_of_range@std@@QAE@ABV01@@Z40 > > libCint.exp : error LNK2001: unresolved external symbol > > _CTA3?AVlength_error@std > > @@ > > libCint.exp : error LNK2001: unresolved external symbol > > _CTA3?AVout_of_range@std > > @@ > > libCint.exp : error LNK2001: unresolved external symbol > > _TI3?AVlength_error@std@ > > @ > > libCint.exp : error LNK2001: unresolved external symbol > > _TI3?AVout_of_range@std@ > > @ > > bin\libCint.dll : fatal error LNK1120: 8 unresolved externals > > make: *** [lib/libCint.dll] Error 96 > > > > An #include <exception> doesn't solve that problem. There are two things > > I don't understand with that: > > * why does the linker search for the symbol std::length_error and not > > length_error (without std::)? > > * why is the exception stuff not in MSVCIRT.LIB, the multi threaded > > dynamic link default library that supports the old iostream library > > (instead of the new std c++ lib) > > > > MS states clearly that the old iostream library (e.g. <iostream.h>) and > > the new std c++ lib are incompatible, and only one will be used at a > > time to search for symbols. If MSVC finds any #include<..h> (like > > <iostream.h> or <strstream.h>) it will use the old one. Maybe exception > > is not part of the old library? I really don't know, all I could find is > > that exception _is_ part of the _new_ std c++ library, but that still > > doesn't tell me whether it's also in the old iostream lib. Do you happen > > to know that? > > > > Hope we can figure this one out. > > Cheers, Axel. > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:22 MET