On Wed, May 13, 2009 at 9:02 AM, Максим Гаммер <maxgam...@gmail.com> wrote:
> Hi.
>
> There is a problem of my program and QT integration. Problem occurs
> when I'm trying to use OSG ModularEmitter for particle creation.
>
> In process of compilation I get the following:
> ...
> /usr/local/include/
> osgParticle/ModularEmitter:89: error: expected unqualified-id before ‘double’
> ...
> ModularEmitter, line 89 : virtual void emit(double dt);
>
>
> I think the problem is in the name of method virtual void emit(double
> dt), because "emit" is a preprocessor word in QT, (like  "slot",
> "signal", "emit"...)
>
>
> Any ideas how could I compile my project? )
> --
> Gammer Maxim
> TSOGU, Tyumen, Russia
> _______________________________________________
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>

Hi Gammer,

try to include QT _after_ OSG headers in all translation units.
Alternatively, you may temporarily undef macro then set it back. I am
not sure about its side effects; ensure that no header file directly
or indirectly loads an include file that has requires macro.

#ifdef MACRO1
#define MACRO1_SAVE MACRO1
#endif
#undef MACRO1

// include osg code here, may be?

#ifdef MACRO1_SAVE
#define MACRO1 UIQ_SAVE
#undef MACRO1_SAVE
#endif

MACRO1, in your case, is emit.

HTH
Ismail
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to