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