Hello ROOT lovers,
I have several Windows-related problems
Any help gratefully appreciated 
I downloaded the win32gdk Windows installer version 5.13/04 on a new XP machine, then decided I wanted to be able to compile stuff too so went to Bertrand Bellenot’s instructions and tried to follow them again. However, as VisualC++2003 is no longer available, I installed the ‘replacement’, VisualC++2005 Express, which includes .NET framework 2.0.
Then from the VC++2005 page I followed a link to download and install “Microsoft Windows Server 2003 R2 Platform SDK” which I assume is also some update of the stuff Bertrand described. Finally I installed “.NET framework 2.0 redistributable” and “.NET framework 2.0 SDK” (all 354 MB!!).
Then I set environment variables analogolous to Bertrand (ROOTSYS was already defined by the installer and added to PATH):
INCLUDE =
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include;C:\Program Files\Microsoft Visual Studio 8\VC\include
LIB =
C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;C:\Program Files\Microsoft Visual Studio 8\VC\lib;%ROOTSYS%\lib
PATH =
%ROOTSYS%\bin; C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;%ROOTSYS%\lib
Then I tried to compile a tutorial script in ROOT:
.L tutorials/anim.C++
First I got an error from cl.exe saying ‘mspdb80.dll’ was missing. I found this file in …/Visual Studio 8/Common 7/IDE and so added this to the PATH variable.
Then I got an error from root.exe saying ‘MSVCR80.dll’ was missing. This I found in c:\Windows\WinSxS\x86_Microsoft.VC80_afihife(random stream of letters), along with ‘msvcp80.dll’. As ‘msvcp80.dll’ is also in Visual Studio/SDK/v2.0/Bin, I copied ‘msvcr80.dll’ there too.
Then the error from root.exe became something like ‘attempt at illegal access to C runtime library’…
That’s when I thought maybe the ROOT binary I downloaded doesn’t work with VC++8, so I decided to build from source.
Under cygwin, I run
./configure win32gdk --disable-mysql --disable-odbc
(the two disables are necessary because although ‘sql.h’ is not found by configure, an attempt is still made to compile TODBCResult)
Although I have installed all the jpeg, gif, png etc. libraries, ‘./configure’ cannot find them or the headers. e.g. ‘jpeglib.h’ is in /usr/include, but invisible to ./configure. libjpeg.a, libjpeg.dll.a and libjpeg.la are in /usr/lib, but ‘configure’ can’t seem to find them. what paths is it using ?
Can anybody help me please ?
John
Make sure either all objects are built with /MD (you didn’t specify --build=debug at the configure line, so /MD should be used) or /MDd. And make sure that all 3rd party libraries you link with are also release libraries. You can use dumpbin.exe /DIRECTIVES base/src/TObject.o to check what TObject.o needs; it should say /DEFAULTLIB:“MSVCRT” for a release build. You can use depends.exe from 


)