The steps are the same on Windows, but to obtain the compiler flags, there is no equivalent script for Windows. You can take a look at the $(ROOTSYS)/include/compiledata.h header file, it contains the compile/build informations. And to compile/build your application, you can use CMake, Visual Studio, Nmake makefiles, or simply cl.exe on the command prompt (passing the compiler flags). But if you’re not familiar with development on Windows, I’m afraid it will be a bit complicated…
I just checked the compiledata.h on Windows. At a first glance the #defines for shared library and executable look a little more sophisticated compared to linux/mac versions.
Actually on linux or mac I do use the exact same GNU Makefile for all my ROOT applications. It pulls sources/headers list via wildcards. So the only thing I have to change across Makefile is just the variable that stands for the program (executable) name.
Correct me if I’m wrong but since the build steps are the same on Windows then ROOT users could use the same generic Makefile (CMake, Nmake) for literally any ROOT program. Maybe with some minor changes required.
Is there a chance you guys can provide this makefile? That will save us tons of time.
Hi,
I’m developing a data analysis toolset for years now.
It uses Qtas a build system and we use it under windows (unfortunately only 32bit) and linux and it links against ROOT for Histograms, Graphs, data fitting etc.
It worked on both platforms nicely with ROOT5 and on linux with ROOT6.
On windows I’m struggling to update the information for ROOT6 needed to sucessfully link against the ROOT libraries.
The makefile linked in this thread and the root-config (which i got running with a Mingw shell) return the wrong list of libraries.
What I basically need (hopefully) is the updated information for the qmake project file, which should be similar to what every other build system needs: