Closed aothms closed 6 years ago
To further clarify.
I call IGESControl_Controller::Init()
somewhere in the code which requires #include <Interface_Static.hxx>
. At least at some point in time for some OCCT version it was necessary.
I dug this up in an old mantis issue:
If i call "IGESControl_Controller::Init()" before IGESCAFControl_Writer, the crash won't occur. This might be helpful for bug fix. My code is simple, i just construct a IGESCAFControl_Writer object and it crash.
From: https://tracker.dev.opencascade.org/view.php?id=25689
That is a message from 2015. According to mantis it is fixed in 6.9.0. So I might be able to remove the dependency on this header anyway.
This is a long story (see for instance #359). Some of the headers are located in the inc/ folder, some other in src/*, and some of them are duplicated. Upstream occt does not have any inc/ folder.
During the installation stage ("make install"), all necessary headers are copied to the include/oce folders, whether they come from /inc or src/* (see the adm/cmake/BuildTollkit.cmake file). Regarding your issue, Interface_Static.hxx is in inc/, Interface_StaticSatisfies.hxx is in src/Interface. After installing, they're both available from include/oce.
If ever you don't install oce, you can try to set the OCE_ADD_HEADERS macro to True (False by default), that should do it.
Hi, merry christmas,
Starting from 0.18, including a specific OCE header fails due to the preprocessor failing to find some the subsequent includes in that file. In particular:
So I went on to investigate and found that there are several .hxx files in src/ that are not in inc/. 876 files to be precise including the missing
Interface_StaticSatisfies.hxx
header. What's the deal with that?Note that this is also the case for
OCE-0.17.3
, 826 to be precise, but there the example above compiles.So, knowing that is probably not the way forward, but at least to get a discussion going, what I did is submit a pull request that copies all files matching a certain set of extensions to the inc/ folder. What do you think is the proper way to resolve this?