Linking Failures when upgrading from 5.2 to 6.3

I 'm using OpenCascade 5.2 and it's precompiled Libs in a MFC-Project with Visual Studio 2003 (*.net)
Everthings works well and compiling isn't a problem.
When I am trying to upgrade OpenCascade and using the libs of OpenCascade 6.0 in the same project I get two mistakes:

1. Failure
error 2065 : 'ostrstream' not declared identifier
error 2146 : ....................................

after commented it out I get the
2. Failure
error LNK2019: unresolved external symbol "public: class gp_pnt const & __thiscall BRepMesh_Discret::Pnt(int)const ......
error LNK2001: unresolved external symbol "public: class gp_pnt const & __thiscall BRepMesh_Discret::Pnt(int)const ......
and other linker failures dependung to BRepMesh

After switching to the old libs - no problem !

Does anybody knows the solution ?


sergey zaritchny's picture

OCCT 5.2 and 6.0 are binary incompatible, besides signature of some functions may change.
So, in fact you should make porting of your project to new version of OCCT and make it's full rebuilding.

Heinz R.'s picture


thank you for your information.

After some hours of work I rebuild my project successfully also with OCCT 6.3.0.

I will described my special way, maybe this is useful for somebody:

1. There is no DXF-Interface in 6.3.0 !!! I used it in my project. I deleted it.
2. The above mentioned 2. failure has his cause because the Meshing Procedures were changed. So in my project I have to use the BRepMesh_FastDiscret.hxx instead of BRepMesh_Discret.hxx. I had to adapt somewhat my methods.
3. I had to include the Libraries TKBO.lib and TKMesh.lib in the command line of the linker

After that I could rebuilt my project and will test it now in all functions !
I am looking for the 1. failure and will report my knowledge.