Why is this a make project and not a full blown native MSVC project?

"As we don't want to spend time synchronizing the windows build system with the MS Dev build system we decided we should continue to use the Makefile (and not convert it to something MSDev can understand). Then you need sh, and either you take cygwin or MingW. The latter is more performant and less intrusive, it can be packaged the way Gordon did without side effects to an existing installation." - Axel

Basically C++ is quite portable cross platforms. Unfortunately, the build system is not. ROOT's build system is Linux centered (Makefiles). On windows the ROOT team uses the same Makefile to do the building that they do on Linux. This means there is only one thing to maintain -- which makes life a lot easier. So, if we wanted a full-on MSVC project we'd have to translate those Makefile instructions. Unfortunately Makefile's are a full programming language - so we'd have to code a full interpreter. That is a lot of work...

I have multiple versions of Visual Studio installed. Do I need to worry?

Well, yes and no. The tool supports generating files for the 2003, 2005, 2008, and 2010 versions of the IDE. However, each version requires a slightly different format of file -- so they aren't interchangeable! When you start up ROOT Builder it will guess what version of the IDE you want to use (the most recent available on your machine). If that isn't what you want, change the small drop down on the GUI. You can even generate for a version that isn't present on the machine!

Visual Studio 2003 is old. There are some extra things to worry about. Especially on Vista.

There are some features that 2003 doesn't support. In particular, it isn't possible to specify environment variables in the IDE. Unlike 2005 and 2008, this means you must define ROOTSYS before you start the IDE. Please keep that in mind!

If you are running on Vista there is also the issue of privalages. You can easily build ROOT with 2003 in this case, but you won't be able to debug or even run ROOT from the IDE unless you start the IDE in administrator mode. This is easy to do: open the start menu, find Visual Studio 2003, right click on it and select "Run as Administrator."

I use cvs to extract ROOT. Why doesn't ROOT Builder generate an empty project?

ROOT is an SVN only project now. When trying to figure out what files should be included in the project I found a easy way to check what files are included in source control (the .svn/text-base sub directory). This seemed to make a lot sense for a set of candidate files to put in the project. Unfortunately, coding things up for CVS wasn't nearly as easy. Since CVS support will be gone at the end of November 2007, it didn't seem worth it to do the extra work as very few people will be using the old repository.

What is the status of VC2010 support?

VC2010 is fully supported.

What happens if I get the message "Unable to find MSVC's install directory"?

All this means is that the tool couldn't find the devenv executable. Getting aroudn this is very easy. In the %ROOTSYS% directory you should find a new file generated by the tool called rootbuiuld_project.xxx (where the file extension will differ depending on what version of visual studio you have installed). Either double click on it to start Visual Studio or open the file with Visual Studio. You should then be able to build the project.

Please note that if the tool couldn't find your IDE's directory there is a good chance it also wasn't able to determine what version of project file to generate. When this happens please check carefully the dropdown box which tells the tool what version of IDE file to create and make sure the locally installed version is correct!

Last edited Jan 24, 2011 at 5:07 PM by gwatts, version 4


CodePlex_vf Sep 2, 2011 at 6:12 PM 
Got an exception during the project generation:\
"Unhandled exception has occurred in your application. If you click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately.

The event log file is full."

Any suggestions on what to do, by any chance?


beyma May 3, 2011 at 5:05 PM 

tried to generate the project for MSVC 2010 but got an exception raised:

"Unhandled exception has occured in your application. If you click Continue, the application will iognore this error and attempt to continue. If you click Quit, the application will close immediately.

The process cannot access the file
'C:\roottrunk52902\vside\configure_cmd_Release.bat' because it is
being used by another process."

Do you want me to post the full stack-trace ? Any suggestions ?

Thanks, beyma

gwatts Jan 24, 2011 at 4:58 PM 
Wxie - sorry - I didn't notice your comment!! Just double clikc the "root_build_project.vcxproj".

wxie Dec 13, 2009 at 10:14 PM 
when clicking on the "generate project", the message is : "unable to find MSVC's install directory; you will have to start it on your own". What to do next?