Generating dictionaries fails in Windows

Hello,
I use ROOT in my application on windows and I need to generate dictionaries for custom classes in order to perform ROOT I/O with these objects.
But I can’t get a successful outcome from rootcint/rootcling.
I tried the simple example mentioned in the users guide (https://root.cern/root/htmldoc/guides/users-guide/ROOTUsersGuide.html#rootcling-the-cling-dictionary-generator) in order to better isolate the problem

rootcling eventdict.cxx -c TEvent.h TTrack.h

This is perfectly working with Visual Studio 2019 version 16.8.2 and ROOT 5.34/34, the last version I was using since years before moving now to ROOT 6.
I tried the same command with many builts of ROOT for windows (6.13/08, 6.14/06, 6.16/00, 6.18/04, 6.20/08, 6.22/00 and even the last 6.23/01) without success.
In attachment you can find the output of this command from the version 6.23/01.

I also tried building ROOT from myself in Visual Studio after generating the solution with CMake, starting from the master in the git repository, but without success. However, maybe this is matter for another post, it’s better to keep things well separated.

Thanks for your help.

output.txt (3.6 KB)


_ROOT Version: 6.22/00
_Platform: Windows 10
_Compiler: Visual Studio 2019 version 16.8.2, Windows SDK version 10.0.18362.0


This is a known issue with the latest version of Visual Studio (since 16.8.0), due to an incompatibility between LLVM and VS. The only solution is to wait for the upgrade of LLVM 9.0 in ROOT (work in progress)

Ok, thank you for the quick reply.
So everything should work if downgrading to VS2019 version 16.7?
By the way, I will wait for this upgrade to LLVM 9.0.

You’re very welcome!

In principle yes

A small update.
I tried with Visual Studio 2019 version 16.7.7, and same error occurs.

Please wait for 6.22/04 or 6.24/00, this particular error with VS 2019 v16.7 has been fixed by this commit in the v6-22-00-patches branch and this commit in the master branch

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.