Problems with ROOT debug version on Windows

Dear ROOT developers,

I currently try to update the root version for a tool written in VC2012 on Win7, but it seems that there is an issue with the debug binaries.

Error error LNK2038: mismatch detected for ‘_ITERATOR_DEBUG_LEVEL’: value ‘0’ doesn’t match value ‘2’ in mathtext.lib(mathrender.obj)

To me this seems that it is not linked (completely) to the debug version of dlls. From the further linker error messages it seems to be due to Multi-threded DLL, i.e MDd, which looks to me that root has been linked against the release dll, i.e. MD. However, I could also be wrong and the issue is something else. I tried both VC2012 and VC2013 and corresponding debug binaries of .35.30 and 5.34.32. The latest version I see it working is 5.34.14. Does anyone have an idea what could go wrong and how I could fix it? Do I need to recompile root?

Many thanks in advance.

Marcus

Probably you start seeing the problem from the version we switched to the CMake build instead of cygwin. I can have a look at the procedures used to obtain the debug binary distributions, alternatively you can also try to build yourself to see if the right option was used.

The file root_v5.34.32.win32.vc12.debug.zip was created using the following flags.

– Compiler Flags: -nologo -IC:/build/workspace/root-release-5.34/BUILDTYPE/Debug/COMPILER/vc12/LABEL/win7/sources/root_v5.34.32/root/build/win -FIw32pragma.h -FIsehmap.h -MD -GR -EHsc- -W3 -wd4244 -D_WIN32 /MP -Od -Z7

Probably what was missing is the option ‘winrtdebug’.

Hi,

thanks a lot for your help. Indeed, it seems that this changed after the switch to cmake. I will give it a try and recompile. In case I see that it works afterwards, I guess I will put it on Jira, such that it can be fixed in the next version. In case of further problems I will follow up here.

Thanks,
Marcus