RE: [ROOT] Error in <TQObject::CheckConnectArgs> slot ... does no t exist

From: Philippe Canal (pcanal@fnal.gov)
Date: Wed Feb 20 2002 - 19:24:14 MET


Hi Tony,

Try the -p option for rootcint.

rootcint -f DvatDict.cpp -c -p -I.

It should take care of this problems.

Philippe.

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Colley, Tony
Sent: Wednesday, February 20, 2002 11:47 AM
To: 'Fons Rademakers'
Cc: 'roottalk@pcroot.cern.ch'
Subject: RE: [ROOT] Error in <TQObject::CheckConnectArgs> slot ... does
no t exist


Fons,

DvatCanvas is compiled... I am not trying to do this from the ROOT
interpreter, but from an application which links to the ROOT libraries.

I didn't know what a "dictionary" was [in the ROOT context], so I went
searching again on the ROOT website. I don't know how much of my code I need
to put into this dictionary, but I thought I'd start with just the
DvatCanvas class. So I eventually tried the following:

[12:36:49 dvat] rootcint -f DvatDict.cpp -c -I. -Itoolbox/attr
-Itoolbox/containers -Itoolbox/dvat -Itoolbox/generalsourcemodel
-Itoolbox/ittlib -Itoolbox/flexclasses/baseclasses
-Itoolbox/flexclasses/calibration -Itoolbox/flexclasses/compression
-Itoolbox/flexclasses/electronics -Itoolbox/flexclasses/generalalgorithms
-Itoolbox/flexclasses/imagebuilder -Itoolbox/flexclasses/mtf
-Itoolbox/flexclasses/nedt -Itoolbox/flexclasses/optresp
-Itoolbox/flexclasses/reader -Itoolbox/flexclasses/scanner
-Itoolbox/flexclasses/sim -Itoolbox/flexclasses/util
-Itoolbox/flexclasses/viirs -I../include -I$ROOTSRC/include
-I$ITOOLS/cpputil -I$ITOOLS/ipcc -I$ITOOLS/sim -I$ICSF/omecore/ome
-I$ICSF/omesim/simserver -I$ICSF/dvat_ext -I$QTDIR/include
-I/devel/qt/mkspecs/default DvatCanvas.h

And the response I got was:

Limitation: can not handle macro UTIL util Use +P or -p option
 FILE:/devel/iTools/cpputil/util_config.h LINE:47
Limitation: can not handle macro USING_UTIL_NAMESPACE usingnamespaceutil;
Use +P or -p option
 FILE:/devel/iTools/cpputil/util_config.h LINE:48
Limitation: can not handle macro BEGIN_UTIL_NAMESPACE
namespaceutil{namespaceutil{} Use +P or -p option
 FILE:/devel/iTools/cpputil/util_config.h LINE:64
Error: Symbol BEGIN_UTIL_NAMESPACEclassCPPUTIL_DECLSPECDelTime is not
defined in current scope  FILE:/devel/iTools/cpputil/utilfwd.h LINE:28
Error: class,struct,union or type Units not defined  FILE:prec_stl/map
LINE:41
Error: Symbol second is not defined in current scope  FILE:prec_stl/utility
LINE:12
Error: operator* not defined for CPPUTIL_DECLSPEC FILE:prec_stl/utility
LINE:12
Warning: Unknown type 'Units' in function argument handled as int
FILE:prec_stl/utility LINE:14
Error: Unexpected EOF G__fgetspace():2 FILE:/devel/iTools/cpputil/utilfwd.h
LINE:92
Advice: You may need to use +P or -p option
Report: Unrecognized string 'END_UTIL_NAMESPACE' ignored
FILE:/devel/iTools/cpputil/utilfwd.h LINE:93
Error: class,struct,union or type public std not defined
FILE:/devel/iTools/cpputil/cstring.h LINE:33
Error: no such template basic_string<char>
FILE:/devel/iTools/cpputil/cstring.h LINE:36
Error: Unexpected EOF G__fgetspace():2 FILE:/devel/iTools/cpputil/cstring.h
LINE:103
Advice: You may need to use +P or -p option
Report: Unrecognized string 'END_UTIL_NAMESPACE' ignored
FILE:/devel/iTools/cpputil/cstring.h LINE:104
Error: class,struct,union or type util not defined  FILE:DvatCanvas.h
LINE:57
Error: class,struct,union or type util not defined  FILE:DvatCanvas.h
LINE:57
Error: class,struct,union or type util not defined  FILE:DvatCanvas.h
LINE:78
Error: class,struct,union or type util not defined  FILE:DvatCanvas.h
LINE:78
Warning: Error occured during reading source files
Warning: Error occured during dictionary source generation
!!!Removing DvatDict.cpp DvatDict.h !!!
rootcint: error loading headers...

-------------------------

So what does all that mean?

What are the "+P" and "-p" options? "rootcint -?" or "rootcint -h" doesn't
mention any such options.

I don't have to put all this third-party software into the dictionary, do I?
I have no control over the files under the /devel/iTools directory; and I
can't be messing around in their makefiles.

Am I just plain out of luck?

Cheers,
Tony


-----Original Message-----
From: Fons Rademakers [mailto:Fons.Rademakers@cern.ch]
Sent: Wednesday, February 20, 2002 11:58
To: Colley, Tony
Cc: 'roottalk@pcroot.cern.ch'
Subject: RE: [ROOT] Error in <TQObject::CheckConnectArgs> slot ... does
no t exist


Is DvatCanvas compiled or interpreted? If compiled you have to make a
dictionary otherwise it cannot find monitorClose. If you make a
dictionary, please make me a little example I can test.

Cheers, Fons.



On Wed, 2002-02-20 at 17:50, Colley, Tony wrote:
> Fons,
> 
> 3.03/00... I updated from CVS on Monday (18 Feb) at 1:55 EST.
> 
> Tony
> 
> -----Original Message-----
> From: Fons Rademakers [mailto:Fons.Rademakers@cern.ch]
> Sent: Wednesday, February 20, 2002 11:48
> To: Colley, Tony
> Cc: 'roottalk@pcroot.cern.ch'
> Subject: RE: [ROOT] Error in <TQObject::CheckConnectArgs> slot ... does
> no t exist
> 
> 
> Which version of ROOT are you using?
> 
> 
> Cheers, Fons.
> 
> 
> On Wed, 2002-02-20 at 17:38, Colley, Tony wrote:
> > Fons,
> > 
> > Thanks for the quick response.
> > 
> > I made the change you suggested but I still get the same error message
and
> > monitorClose() is never called. (I added an output statement to make
sure
> I
> > was calling the new version of the code... the new output message
appears,
> > but so does the old error message.)
> > 
> > Any other suggestions?
> > 
> > Cheers,
> > Tony
> > 
> > 
> > -----Original Message-----
> > From: Fons Rademakers [mailto:Fons.Rademakers@cern.ch]
> > Sent: Wednesday, February 20, 2002 11:29
> > To: Colley, Tony
> > Cc: 'roottalk@pcroot.cern.ch'
> > Subject: Re: [ROOT] Error in <TQObject::CheckConnectArgs> slot ... does
> > not exist
> > 
> > 
> > Hi Tony,
> > 
> > try:
> >    rc->Connect("CloseWindow()", "DvatCanvas", this, "monitorClose()");
> > 
> > this way you tell the system to use the DvatCanvas::monitorClose() slot
> > for "this" instance of DvatCanvas.
> > 
> > Cheers, Fons.
> > 
> > 
> > 
> > On Wed, 2002-02-20 at 17:13, Colley, Tony wrote:
> > [edited to relieve strain on mail servers around the world]
> > > 
> > >    TRootCanvas *rc = (TRootCanvas*)m_canvas->GetCanvasImp();
> > >    rc->Connect("CloseWindow()", 0, 0, "monitorClose()");
> > > 
> > >    return;
> > > }
> > > 
> > > // FUNCTION TO MONITOR CLOSING OF CANVAS
> > > void DvatCanvas::monitorClose()
> > > {
> > >    cout << "DvatCanvas::monitorClose" << endl;
> > > }
> > > 
> > > -------- END OF CODE EXCERPTS --------------
> > [edited more]
> > > 
> > > Anyway, everything works fine... the canvas is created, stuff is drawn
> on
> > > it, the user can interact normally with the canvas and its objects...
> > except
> > > when I call Connect() I get the message:
> > > 
> > >   Error in <TQObject::CheckConnectArgs> slot monitorClose does not
exist
> > > 
> > > And, of course, monitorClose() is not called when the user closes the
> > > canvas.
> > > 
> > > I tried specifying "DvatCanvas::monitorClose()" in the Connect call,
but
> > > that didn't make any difference.
> > > 
> > > Help!
> > > 
> > > Tony Colley
> > > ITT Industries A/CD
> > > Fort Wayne, IN  USA
> > > Tony.Colley@itt.com
> > -- 

************************************ 
If this email is not intended for you, or you are not responsible for the
delivery of this message to the addressee, please note that this message may
contain ITT Privileged/Proprietary Information.  In such a case, you may not
copy or deliver this message to anyone.  You should destroy this message and
kindly notify the sender by reply email.  Information contained in this
message that does not relate to the business of ITT is neither endorsed by
nor attributable to ITT. 
************************************ 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:42 MET