I have a problem relating to ROOT with Windows DLLs. My ROOT version is Version 5.19/02
I have a program which performs some socket communication written in C++. I have written the necessary wrappers for this to use with ROOT and everything works fine in Linux.
Recently I have converted this C++ program to Windows environments and it is working fine as a normal DLL.
I tried to use the DLL with ROOT (in Windows) but could not get it working.
I track down the problem and now it has reduced to a something like below.
C:\Users\bellenot\rootdev\TUtils>root -l
root [0] gSystem->Load("libTUtils")
(int)0
root [1] TUtils tu;
root [2] tu.TestMethod("ABC");
Printing from TUtils: ABC
root [3]
How did you build your dll?
I use makefile on cygwin, but I can prepare a project file. Just tell me which version of Visual Studio you are using. Or I can also make a nmake makefile… Just let me know what you prefer.
Here is the makefile. Just rename the file (i.e Makefile.msc) and type “nmake -f Makefile.msc” it should work (just check the file names).
And please let me know if you have any problem…
I just tried with 5.19.02 binaries, and I see the problem… So apparently this has been solved since then. And as the version 5.19.04 should be available tomorrow, just wait a bit and your problem will be solved
(and the MSVC++ 9.0 binaries will be available too! )
OK, I see the problem… It works only in debug mode and fails in Release (optimized) mode It is maybe due to the way Micro$oft implement STL… I will investigate and let you know.