Page 1 of 1

C++error : Type redeclaration on v0-8 and OGRE renderer

Posted: Sat Dec 21, 2013 20:25
by paul424
Hello , I follow this wiki , and use v0-8 branches. From the IRC channel I know OGRE renderer is not supposed to work, however such stupid mistake as type redeclaration should be fixed , this is output from my make :


Code: Select all

Linking CXX shared module ../../../../../lib/PyCEGUINullRenderer.so
[ 91%] Built target PyCEGUINullRenderer
Scanning dependencies of target PyCEGUIOgreRenderer
[ 91%] Building CXX object cegui/src/ScriptModules/Python/bindings/CMakeFiles/PyCEGUIOgreRenderer.dir/output/CEGUIOgreRenderer/OgreImageCodec.pypp.cpp.o
In file included from /home/tom/tmp_build/cegui/cegui/src/ScriptModules/Python/bindings/output/CEGUIOgreRenderer/OgreImageCodec.pypp.cpp:4:0:
/home/tom/tmp_build/cegui/cegui/src/ScriptModules/Python/bindings/generators/include/python_CEGUIOgreRenderer.h:14:11: error: using typedef-name ‘Ogre::TexturePtr’ after ‘class’
     class TexturePtr {};
           ^
In file included from /home/tom/tmp_build/cegui/cegui/src/ScriptModules/Python/bindings/generators/include/python_CEGUIOgreRenderer.h:7:0,
                 from /home/tom/tmp_build/cegui/cegui/src/ScriptModules/Python/bindings/output/CEGUIOgreRenderer/OgreImageCodec.pypp.cpp:4:
/home/tom/tmp_build/cegui/cegui/include/CEGUI/RendererModules/Ogre/Renderer.h:63:28: note: ‘Ogre::TexturePtr’ has a previous declaration here
 typedef SharedPtr<Texture> TexturePtr;
                            ^
make[2]: *** [cegui/src/ScriptModules/Python/bindings/CMakeFiles/PyCEGUIOgreRenderer.dir/output/CEGUIOgreRenderer/OgreImageCodec.pypp.cpp.o] Error 1
make[1]: *** [cegui/src/ScriptModules/Python/bindings/CMakeFiles/PyCEGUIOgreRenderer.dir/all] Error 2
make: *** [all] Error 2

Re: C++error : Type redeclaration on v0-8 and OGRE renderer

Posted: Wed Jan 08, 2014 09:39
by mmixLinus
A suggested workaround in the meantime.

Re: C++error : Type redeclaration on v0-8 and OGRE renderer

Posted: Wed Jan 08, 2014 13:12
by Kulik
paul424 wrote:however such stupid mistake as type redeclaration should be fixed


Fix it then!

You will undoubtedly discover that it is not so easy... The best solution in this case is to generate the bindings for your specific version using py++. Keeping the generated bindings compatible with all version combinations requires a lot of manual work.