In fact this code creates a meta object that can contain multiple types
of values: string, integers, floats, pointer to nuiAutomatable objects,
etc.. It is used in the automation and sccripting engines so that we
can use a typeless language that manipulates all type equaly at runtime
via nuiParameter objects. I wished the code would be better for this but
C++ is not a friend of scripting engines, sadly.
It seems the error comes from the fact that bool is not an internal type
for you compiler, not even a typedef but a #define... Vincent : can you
confirm that with this version of gcc the bool type is defined with
#define bool int ? I would find it wuite amazing but well... I can work
around it. Anyway, that's the only reasoning I could find for this
error. I'm going to commit a fix in the next few hours.
Sebastien
Ilya A. Palopezhentsev wrote:
Hello Sebastien!
I forgot to mention I used latest CVS versions for ngl & nui.
Also I looked at the place where error appears, it's the declaration of Bool
type. I tried to comment this line, it started to compile it further but
stuck at nuiMainWindow.h unable to find Bool type. I wonder: is there such
huge demand in redefining bool type? Why not to stick with simple bool, or
does Bool provide better functionality?
Though, I'm a total newcomer to ngl&nui and may be wrong.
Hi Ilya,
I have tested the current nui with gcc 3.3 under OSX but not under linux
yet. Vincent already mentionned this error sometime ago so I'm going to
try to fix it asap. It seems something is going wrong in my macro
definition for some reason I don't understand. (the macros are quite
hacky, sometime C++ limitations make me do some horrible stunts :-( ).
If you happen to find a fix for this you're welcome. I'm going to look
at it anyway.
Thanks for the report ;).
Sebastien
Ilya A. Palopezhentsev wrote:
Hello!
I've tried to test and compile nui and here's what I get:
(I have ngl installed and functional)
(system: Mandrake Linux 10.0, gcc 3.3.2)
In file included from ../include/nuiObject.h:27,
from ../include/nuiWidget.h:23,
from ../include/nuiContainer.h:23,
from ../include/nuiAnimation.h:25,
from core/nuiAnimation.cpp:21:
../include/nuiAutomation.h: In member function `void
nuiParameter::Set(const bool&)':
../include/nuiAutomation.h:223: error: 'union nuiParameter::Integral_tag'
has no member named 'mint'
../include/nuiAutomation.h: In member function `bool
nuiParameter::Getint() const':
../include/nuiAutomation.h:223: error: 'const union
nuiParameter::Integral_tag' has no member named 'mint'
../include/nuiAutomation.h: In member function `void
nuiParameter::Get(bool&) const':
../include/nuiAutomation.h:223: error: 'const union
nuiParameter::Integral_tag' has no member named 'mint'
../include/nuiAutomation.h: In member function `nuiParameter::operator
bool&()':
../include/nuiAutomation.h:223: error: 'union nuiParameter::Integral_tag'
has no member named 'mint'
core/nuiAnimation.cpp: In static member function `static bool
nuiAnimation::CallVerb_nuiAnimation(nuiAnimation*, const nglString&,
nuiAutomatable::Operation, nuiParamVector&, nuiVerbDictionary*)':
core/nuiAnimation.cpp:431: warning: statement with no effect
core/nuiAnimation.cpp:431: warning: statement with no effect
core/nuiAnimation.cpp:431: warning: statement with no effect
make[2]: *** [core/nuiAnimation.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2