Got same problem with OpenSUSE 12.1 which I think has GCC 4.6 too
Adding those includes still doesn't help solve the compiler error.
Debian sid Build
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
-
- Posts: 655
- Joined: Fri Jul 22, 2011 8:37 pm
- Contact:
Re: [REOPEN] Debian sid Build
Development blog - http://freecadamusements.blogspot.co.uk/
- tanderson69
- Veteran
- Posts: 1626
- Joined: Thu Feb 18, 2010 1:07 am
Re: [REOPEN] Debian sid Build
I too, am getting this error on Kubuntu 12.04. The documentation for OCCT 6.3 says that STEPCAFControl_Writer has 2 methods for ::Writer. One returns a const reference and the other returns a non-const reference. In STEPCAFControl_Writer.hxx I see only one method and it returns a const reference(oce 0.8). Perhaps the non-const form was removed at some point? ....... Ah I see it. The non-const form got changed to STEPCAFControl_Writer::changeWriter();
Edit:
changed To
And build succeeded.
Edit:
changed
Code: Select all
APIHeaderSection_MakeHeader makeHeader(writer.Writer().Model());
Code: Select all
APIHeaderSection_MakeHeader makeHeader(writer.ChangeWriter().Model());
Re: [REOPEN] Debian sid Build
OK, this explains it. Since the method "Model()" is non-const the instance of STEPControl_Writer must be non-const, too. But due to the API change in OCC there is only one method "Writer()" which returns the const version. Then it's clear why it doesn't compile.
Re: Debian sid Build
A patch to build with libcoin80 (3.1.4) :
In src/Gui/SoTextLabel.cpp
line 58 change #include <Inventor/elements/SoGLTexture3EnabledElement.h> to #include <Inventor/elements/SoMultiTextureEnabledElement.h>
line 254 change SoGLTexture3EnabledElement::set(state, this, FALSE); to SoMultiTextureEnabledElement::set(state, this, FALSE);
Enjoy !
In src/Gui/SoTextLabel.cpp
line 58 change #include <Inventor/elements/SoGLTexture3EnabledElement.h> to #include <Inventor/elements/SoMultiTextureEnabledElement.h>
line 254 change SoGLTexture3EnabledElement::set(state, this, FALSE); to SoMultiTextureEnabledElement::set(state, this, FALSE);
Enjoy !
Re: Debian sid Build
Thanks Joe, That deprecation error prevented me from building and I just didn't have time to look into it at all.