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