I’m trying to compile ROOT (the latest svn version) using Visual Studio 2008 on a 64-bit machine running Vista and I’m having a few problems. The first problem is with the following compile command:
bindexplib.cxx
build/win/bindexplib/bindexplib.cxx(58) : fatal error C1083: Cannot open include file: ‘windows.h’: No such file or directory
I found windows.h in $ROOTSYS/cint/cint/include (it was not in ./include). If I include this path (or copy the file to $ROOTSYS/include), I get the following:
bindexplib.cxx
cint/cint/include\windows.h(19) : warning C4068: unknown pragma
cint/cint/include\windows.h(23) : warning C4068: unknown pragma
cint/cint/include\windows.h(24) : fatal error C1189: #error : win32api.dll is not ready. Run ‘setup.bat’ in %CINTSYSDIR%\lib\win32api directory if you use WinNT/95.
g__cfunc.c
cint/cint/src/g__cfunc.c : fatal error C1083: Cannot open include file: ‘sehmap.h’: No such file or directory
make: *** [cint/cint/src/g__cfunc.o] Error 2
If I remove -FIsehmap.h the compile command works. But will this cause a problem later?
Even though I get the above error, it looks like everything was built and installed. However, when I try running root (e.g., root -b), the welcome text appears, but I never get the command prompt. Do you have any suggestions?
Well, I don’t know, I never use “make install” and “configure --with-prefix” on Windows (I’m not even sure it is supported)… I will try and let you know.
It turns out the problem (i.e., the ROOT prompt never appears) only exists when I try to run ROOT from a xterm window in cygwin. If I start ROOT in a cygwin command shell it works fine! Do you have any idea why it would not work in the xterm window? I compiled the ROOT source tree in the xterm window.
ROOT compiled with MSVC++ is meant to be run in a command prompt (it is a Win32 binary) nothing to do with a xterm. If you want a X11/Xterm compatibe version, you have to compile it with cygwin gcc (note I would not advise to do so)
I know that this is the general bias that the Root team has, but I think there are many advantages to the cygwin/g++ version of Root (as opposed to VC++). I agree that there are speed differences, but the similarities in the environment (as compared to linux) usually more than make up for them.