[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.

	David




More information about the vtk-developers mailing list