EDIT: Note that VTK 5.8.0 builds out of the box on Ubuntu 16.04 still, if you ensure that you uncomment the line with the define for
GLX_GLXEXT_LEGACY
in the Rendering/vtkXOpenGLRenderWindow.cxx file. There are a few things that are incompatible with the new compiler. Firstly, the vtkOStreamWrapper error. This is covered in great detail here. Basically replace the offending line with:
//VTKOSTREAM_OPERATOR(ostream&);
vtkOStreamWrapper& vtkOStreamWrapper::operator << (ostream& a) {
this->ostr << (void *)&a;
return *this;
}
Then there are the ifstream->read() errors. Replace theif ( this->IFile->read(result, 80) == 0)
with theif ( this->IFile->read(result, 80).fail())
Lastly, there are the make_pair errors, solved here. You need to replace thewiththis->Map->insert(vtkstd::make_pair< vtkVariant, vtkVariant >(from, to));
in the vtkMapArrayValues.cxx file. You might need to add the include:this->Map->insert(vtkstd::make_pair(from, to)); // Addendum
#ifdef _WINDOWS #include// Addendum for vs11 to find 'greater' #endif
to vtkAdjacencyMatrixToEdgeTable.cxx. I also had to add the above include and
#include
to vtkAdjacencyMatrixToEdgeTable.cxx, vtkNormalizeMatrixVectors.cxx, vtkPairwiseExtractHistogram2D.cxx, vtkParallelCoordinatesRepresentation.cxx, vtkChartXY.cxx, vtkControlPointsItem.cxx, to get rid of std max and min errors,