Patch for compatibility with VTK 9.5.0 --- Utilities/VTK/vtkGDCMImageReader.cxx.orig 2024-05-03 14:14:31 +++ Utilities/VTK/vtkGDCMImageReader.cxx 2025-07-08 14:34:08 @@ -608,7 +608,7 @@ // FIXME a gdcm::Scanner would be much faster here: for(int i = 0; i < filenames->GetNumberOfValues(); ++i ) { - const char *filename = filenames->GetValue( i ); + const char *filename = filenames->GetValue( i ).c_str(); gdcm::ImageReader reader; reader.SetFileName( filename ); if( !reader.Read() ) @@ -703,7 +703,7 @@ } else if ( this->FileNames && this->FileNames->GetNumberOfValues() > 0 ) { - filename = this->FileNames->GetValue( 0 ); + filename = this->FileNames->GetValue( 0 ).c_str(); } else { @@ -1459,7 +1459,7 @@ for(int j = dext[4]; !this->AbortExecute && j <= dext[5]; ++j) { assert( j >= 0 && j <= this->FileNames->GetNumberOfValues() ); - const char *filename = this->FileNames->GetValue( j ); + const char *filename = this->FileNames->GetValue( j ).c_str(); int load = this->LoadSingleFile( filename, pointer, len ); if( !load ) { --- Utilities/VTK/vtkGDCMImageWriter.cxx.orig 2024-05-03 14:14:31 +++ Utilities/VTK/vtkGDCMImageWriter.cxx 2025-07-08 14:27:14 @@ -255,7 +255,7 @@ { if( this->FileNames->GetNumberOfValues() ) { - const char *filename = this->FileNames->GetValue(0); + const char *filename = this->FileNames->GetValue(0).c_str(); return const_cast(filename); } return this->Superclass::GetFileName(); @@ -1148,7 +1148,7 @@ if( this->FileNames->GetNumberOfValues() ) { //int n = this->FileNames->GetNumberOfValues(); - filename = this->FileNames->GetValue(k); + filename = this->FileNames->GetValue(k).c_str(); } else { --- Utilities/VTK/vtkGDCMImageReader2.cxx.orig 2024-05-03 14:14:31 +++ Utilities/VTK/vtkGDCMImageReader2.cxx 2025-07-08 14:33:42 @@ -388,7 +388,7 @@ // FIXME a gdcm::Scanner would be much faster here: for(int i = 0; i < filenames->GetNumberOfValues(); ++i ) { - const char *filename = filenames->GetValue( i ); + const char *filename = filenames->GetValue( i ).c_str(); gdcm::ImageReader reader; reader.SetFileName( filename ); if( !reader.Read() ) @@ -480,7 +480,7 @@ } else if ( this->FileNames && this->FileNames->GetNumberOfValues() > 0 ) { - filename = this->FileNames->GetValue( 0 ); + filename = this->FileNames->GetValue( 0 ).c_str(); } else { @@ -1177,7 +1177,7 @@ for(int j = outExt[4]; !this->AbortExecute && j <= outExt[5]; ++j) { assert( j >= 0 && j <= this->FileNames->GetNumberOfValues() ); - const char *filename = this->FileNames->GetValue( j ); + const char *filename = this->FileNames->GetValue( j ).c_str(); int load = this->LoadSingleFile( filename, pointer, len ); vtkDebugMacro( "LoadSingleFile: " << filename ); if( !load ) --- Utilities/VTK/vtkGDCMThreadedImageReader2.cxx.orig 2024-05-03 14:14:31 +++ Utilities/VTK/vtkGDCMThreadedImageReader2.cxx 2025-07-08 14:36:58 @@ -71,7 +71,7 @@ //---------------------------------------------------------------------------- const char *vtkGDCMThreadedImageReader2::GetFileName(int i) { - return this->FileNames->GetValue( i ); + return this->FileNames->GetValue( i ).c_str(); } //---------------------------------------------------------------------------- @@ -106,7 +106,7 @@ for( int i = outExt[4]; i <= outExt[5] && i < maxfiles; ++i ) { assert( i < maxfiles ); - const char *filename = self->GetFileNames()->GetValue( i ); + const char *filename = self->GetFileNames()->GetValue( i ).c_str(); //ReadOneFile( filename ); //outData->GetPointData()->GetScalars()->SetName("GDCMImage"); --- Utilities/VTK/Applications/gdcm2vtk.cxx.orig 2025-07-09 12:13:48 +++ Utilities/VTK/Applications/gdcm2vtk.cxx 2025-07-09 12:14:16 @@ -498,7 +498,7 @@ { imgreader->SetFileLowerLeft( lowerleft ); if( names->GetNumberOfValues() == 1 ) - imgreader->SetFileName( names->GetValue(0) ); + imgreader->SetFileName( names->GetValue(0).c_str() ); else imgreader->SetFileNames(names); imgreader->Update(); --- Utilities/VTK/Applications/gdcmviewer.cxx.orig 2025-06-11 08:17:24 +++ Utilities/VTK/Applications/gdcmviewer.cxx 2025-07-09 12:12:12 @@ -321,7 +321,7 @@ vtkGDCMImageReader *reader = vtkGDCMImageReader::New(); if( filenames->GetSize() == 1 ) // Backward compatible... { - reader->SetFileName( filenames->GetValue(0) ); + reader->SetFileName( filenames->GetValue(0).c_str() ); } else {