5.34/36 ".L" gives version mismatch in Windows

Hello Rooters,

I tried to update from /34 to /36 today and now I can’t seem to compile my macro, which worked in /34. I get:

root [0] .L drawVec.cpp+
Info in TWinNTSystem::ACLiC: creating shared library C:\000-WORKAREA\analysis\PD-ViEW\fitXi\zzz-rootBuildFiles\drawVec_cpp.dll
Creating library C:\000-WORKAREA\analysis\PD-ViEW\fitXi/zzz-rootBuildFiles\drawVec_cpp.lib and object C:\000-WORKAREA\analysis\PD-ViEW\fitXi/zzz-rootBuildFiles\drawVec_cpp.exp
Error in TWinNTSystem::Load: version mismatch, C:\000-WORKAREA\analysis\PD-ViEW\fitXi\zzz-rootBuildFiles\drawVec_cpp.dll = 53434, ROOT = 53436
Microsoft ® Incremental Linker Version 14.00.23506.0
Copyright © Microsoft Corporation. All rights reserved.

LINK : fatal error LNK1181: cannot open input file ‘libRint.lib’

Now, I have verified that ROOTSYS is pointing in the right place, and I can “.x” just fine. I have renamed the /34 directories so I am sure that something pointing to the old version will break instead of using it. I don’t see what the problem can be.

(Note: my .rootlogon.C contains “gSystem->SetBuildDir(”./zzz-rootBuildFiles", kTRUE);" to keep my working area tidy.)

.L drawVec.cpp++

[quote=“Pepe Le Pew”]Try:
.L drawVec.cpp++[/quote]

First thing I tried. Does not help. I get the same error.

Second thing I tried was deleting all the files in the zzz-rootBuildFiles area. Also did not help. Same error.

Do you have a rootlogon.C?

Does you macro relies on any other macros/libraries?

Can you try with another (empty) macro?

What does the banner say when you start root? (i.e. should give a version number).


rootlogon.C is described in original post. Banner says 5.34/36, as expected.

Yes, I do depend on another library. In windows, you can

  #pragma comment(lib,"myLib") 

…and get it to auto-load if you ever include the header file. I do that, and forgot that my root-helper code library would need to be recompiled. So now things work again. Thank you! I do not understand why ROOT complained that my macro was compiled with the old ROOT version, when in fact it was an entirely different and unmentioned library that was compiled with the old version. A misleading error message in this case.

Thanks. This problem is now solved.

 - John