OK, I looked a bit more into this:
-First, I re-built ROOT 5.24 with VC++8 from the source code at
ftp://root.cern.ch/root/root_v5.24.00.source.tar.gz
using
root-builder.sourceforge.net/
in “Release mode with debug notes”
-I built the attached project “test2” using VC++8 in Release mode. I also removed references to STL libraries and only use ROOT classes to simplify debugging.
-When I load the dll into ROOT I no longer get warnings about the class being already loaded, the class seems to be functioning properly, and ROOT knows the location of the declaration and implementation files:
root [0] gSystem->Load(“C:/Users/MK/Desktop/test2/test.dll”)
(int)0
root [1] test::Class()->GetDeclFileName()
(const char* 0x2434300)“test.hpp”
root [2] test::Class()->GetImplFileName()
(const char* 0x2434d3c)“.\test.cpp”
So this already fixes some problems reported earlier that seem to be due to the incompatibility of the ROOT binary built with VC++9 and my dll built with VC++8.
-But I still can’t get THTML to work. What do the errors below mean?
root [3] test t(“this is a test”)
root [4] cout << t.GetString() << endl;
this is a test
root [5] test::Class()->GetDeclFileName()
(const char* 0x2434300)“test.hpp”
root [6] test::Class()->GetImplFileName()
(const char* 0x2434d3c)“.\test.cpp”
root [7] THtml html
root [8] html.SetInputDir(“C:/Users/MK/Desktop/test2”)
root [9] html.SetOutputDir(“C:/Users/MK/Desktop/test2”)
root [10] html.MakeClass(“test”)
Info in THtml::CreateListOfClasses: Initializing - this might take a while…
Info in THtml::TFileSysRoot::Recurse: scanning C:/Users/MK/Desktop/test2…
Error in : compilation of TPRegexp(\b(include|CVS|test|tutorials|doc|li
b|python|demo|freetype-|gdk|libAfterImage|etc|config|build|bin)\b|(\bC:\Users\MK
\Desktop\test2\b)) failed at: 108 because PCRE does not support \L, \l, \N, \U,
or \u
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Error in : pcre_exec error = -2
Info in THtml::CreateListOfClasses: Cannot find header file for TObject at inc
lude/TObject.h given the input path C:/Users/MK/Desktop/test2.
Info in THtml::CreateListOfClasses: Assuming documentation is not for ROOT cla
sses, or you need to pass the proper directory to THtml::SetInputPath() so I can
find include/TObject.h.
Warning in TClass::TClass: no dictionary for class ROOT::Math::IMinimizer1D is
available
Warning in TClass::TClass: no dictionary for class iterator<bidirectional_iter
ator_tag,TObject*,long,const TObject**,const TObject*&> is available
Warning in TClass::TClass: no dictionary for class iterator<random_access_iter
ator_tag,TString,long,TString*,TString&> is available
Warning in TClass::TClass: no dictionary for class iterator<random_access_iter
ator_tag,int,long,int*,int&> is available
Warning in TClass::TClass: no dictionary for class iterator<random_access_iter
ator_tag,string,long,string*,string&> is available
Warning in TClass::TClass: no dictionary for class vector<TString,allocator >::const_iterator is available
Warning in TClass::TClass: no dictionary for class vector<int,allocator >
::const_iterator is available
Warning in TClass::TClass: no dictionary for class vector<string,allocator >::const_iterator is available
Warning in THtml::CreateListOfClasses: Cannot find the header for the followin
g classes [reason]:
Warning in THtml::CreateListOfClasses: test [header test.hpp not found]
Warning in THtml::CreateListOfClasses: THtml cannot find all headers and sourc
es.
Warning in THtml::CreateListOfClasses: You might need to adjust the input path
(currently C:/Users/MK/Desktop/test2) by calling THtml::SetInputDir()
Warning in THtml::CreateListOfClasses: Product not set. You should call gHtml-
SetProduct(“MyProductName”);
Info in THtml::CreateListOfClasses: Initializing - DONE.
Error in THtml::MakeClass: Unknown class ‘test’!
test2.zip (13.5 KB)