[vtk-developers] VTK CVS broken: vtkInformationExecutivePortVectorKey and vtkExecutive link error in Debug only
David C Thompson
dcthomp at sandia.gov
Thu Oct 18 18:50:32 EDT 2007
On Thu, 2007-10-18 at 16:05 -0400, Brad King wrote:
> The correct split would be to leave "vtkInformation" in Common, and then
> create a "vtkPipelineInformation" in Filtering that derives from
> vtkInformation ...
> this will break way too much code. I think renaming the class in Common
> to vtkInformationBase and then leaving vtkInformation in Filtering will
> work. ...
> I propose the following (radical) solution. Instead of splitting the
> *interface* we should split the *implementation*. All of the offending
> methods are non-virtual, so they will only be needed by the linker if
> someone calls them. Code that links to vtkCommon only cannot possibly
> need information about vtkExecutive and therefore will not be calling
> the methods. So what we need to do is take the implementation of
> executive-related vtkInformation methods and move it out of
> Common/vtkInformation.cxx and put it in a new
> Filtering/vtkInformation.cxx file. The filtering version of the file
> would contain something like
I would much prefer this to having vtkInformationBase. However, I the
Python/Tcl/Java wrappers would probably then be broken since there isn't
a way to split the wrapper code across libraries.
Also, I was under the impression that some linkers complain (fail?) when
some functions (not necessarily just virtual ones) are not implemented.
More information about the vtk-developers