Hi Guido, We install Root under Windows using CYGWIN. See http://root.cern.ch/root/Install.html http://sources.redhat.com/cygwin/ http://root.cern.ch/root/Cygwin.html We never attempted to install directly under Visual Studio. If somebody has a working procedure creating a VisualStudio project automatically from CVS (or at least the stand Root source tar file), we would like to know. Rene Brun On Mon, 12 Aug 2002, Guido Gagliardi wrote: > Hi > > I've managed to compile and link my root-based analysis program under > windows 2000 + visual c++. > The main problem i encountered is the linking of libraries. I link the > following libraries: > > libcore.lib > libgpad.lib > libgraf.lib > libgraf3d.lib > libgui.lib > libhist.lib > libmatrix.lib > libphysics.lib > libpostscript.lib > librint.lib > libtree.lib > libcint.lib > > in both release (that is the default visualc++ Release settings optimized > for speed) and Debug (again the default visualc++) configurations. I also > have to ignore the libcd.lib default library in both configurations. > The result is that i have the following error in link (Release version): > > Generating Code... > Linking... > msvcirt.lib(MSVCIRT.dll) : warning LNK4006: "class ostream & __cdecl > endl(class ostream &)" (?endl@@YAAAVostream@@AAV1@@Z) already defined in > libCore.lib(TBox.obj); second definition ignored > > and the similar error in Debug version: > > Linking... > msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "public: class ostream & > __thiscall ostream::operator<<(class ostream & (__cdecl*)(class ostream > &))" (??6ostream@@QAEAAV0@P6AAAV0@AAV0@@Z@Z) already defined in > libCore.lib(TBox.obj) > msvcirtd.lib(MSVCIRTD.dll) : error LNK2005: "class ostream & __cdecl > endl(class ostream &)" (?endl@@YAAAVostream@@AAV1@@Z) already defined in > libCore.lib(TBox.obj) > ../ana.dll : fatal error LNK1169: one or more multiply defined symbols > found > Error executing link.exe. > > This happens when i am trying to build a DLL i would like to load > interactively in CINT. > > Peeking at the code i found out that in iostrm.h the iostream operator are > defined, and that they are included in the code with #include > "Riostream.h" depending on preprocessor symbol definition. It looks like > the library i have to use in visualc++ is in conflict with libcore.lib. Is > there anything i can do? Someone has had the same problem and has solved > out it? > I am using in my code <iostream.h> instead of <iostream>. Is there any > way to use <iostream> (I like the std::getline function...)? That is, is > there anyset of windows root libraries that uses <iostream> insted of > <iostream.h>? > > > Guido Gagliardi > INFN Genova > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:04 MET