Skip to content

Errors during testing with ITK_DISALLOW_COPY_AND_MOVE #4

@tapphughesn

Description

@tapphughesn

Hi there, I am getting errors while trying to build and make ITKThinShellDemons. I am using Ubuntu 18.04 and I built TSD using ccmake version 3.20.2. When I "make", I get the error log below.

nick@nick-MS-7C02$ make
[  0%] Built target ITKData
[ 32%] Built target ClangFormat
[ 64%] Built target KWStyle
Consolidate compiler generated dependencies of target ThinShellDemonsTestDriver
[ 68%] Building CXX object test/CMakeFiles/ThinShellDemonsTestDriver.dir/itkThinShellDemonsTest.cxx.o
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:21:0,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:46:46: error: ISO C++ forbids declaration of ‘ITK_DISALLOW_COPY_AND_MOVE’ with no type [-fpermissive]
   ITK_DISALLOW_COPY_AND_MOVE(MeshToMeshMetric);
                                              ^
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:125:3: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
   throw ( ExceptionObject );
   ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:142:0,
                 from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:21,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.hxx:53:1: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 throw ( ExceptionObject )
 ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:25:0,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshTovtkPolyData.h:44:50: error: ISO C++ forbids declaration of ‘ITK_DISALLOW_COPY_AND_MOVE’ with no type [-fpermissive]
   ITK_DISALLOW_COPY_AND_MOVE(itkMeshTovtkPolyData);
                                                  ^
In file included from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:0:
/home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:55:51: error: ISO C++ forbids declaration of ‘ITK_DISALLOW_COPY_AND_MOVE’ with no type [-fpermissive]
   ITK_DISALLOW_COPY_AND_MOVE(ThinShellDemonsMetric);
                                                   ^
/home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:110:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
   virtual void Initialize(void) throw ( ExceptionObject ) ITK_OVERRIDE;
                                 ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:224:0,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.hxx:54:1: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 throw ( ExceptionObject )
 ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:24:0:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshRegistrationMethod.h:35:58: error: ISO C++ forbids declaration of ‘ITK_DISALLOW_COPY_AND_MOVE’ with no type [-fpermissive]
   ITK_DISALLOW_COPY_AND_MOVE(MeshToMeshRegistrationMethod);
                                                          ^
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshRegistrationMethod.h:108:3: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
   throw ( ExceptionObject );
   ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshRegistrationMethod.h:164:0,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:24:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshRegistrationMethod.hxx:56:3: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
   throw ( ExceptionObject )
   ^~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:25:0:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshDisplacementTransform.h:49:55: error: ISO C++ forbids declaration of ‘ITK_DISALLOW_COPY_AND_MOVE’ with no type [-fpermissive]
   ITK_DISALLOW_COPY_AND_MOVE(MeshDisplacementTransform);
                                                       ^
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:21:0,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h: In instantiation of ‘class itk::MeshToMeshMetric<itk::Mesh<double, 3>, itk::Mesh<double, 3> >’:
/home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:51:27:   required from ‘class itk::ThinShellDemonsMetric<itk::Mesh<double, 3> >/home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:90:13:   required from here
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:46:3: error: invalid abstract parameter type ‘itk::MeshToMeshMetric<itk::Mesh<double, 3>, itk::Mesh<double, 3> >ITK_DISALLOW_COPY_AND_MOVE(MeshToMeshMetric);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:43:27: note:   because the following virtual functions are pure within ‘itk::MeshToMeshMetric<itk::Mesh<double, 3>, itk::Mesh<double, 3> >’:
 class ITK_TEMPLATE_EXPORT MeshToMeshMetric:public SingleValuedCostFunction
                           ^~~~~~~~~~~~~~~~
In file included from /home/nick/Downloads/ITKThinShellDemons/include/itkMeshToMeshMetric.h:24:0,
                 from /home/nick/Downloads/ITKThinShellDemons/include/itkThinShellDemonsMetric.h:21,
                 from /home/nick/Downloads/ITKThinShellDemons/test/itkThinShellDemonsTest.cxx:22:
/home/nick/Downloads/InsightToolkit-5.1.2/Modules/Numerics/Optimizers/include/itkSingleValuedCostFunction.h:64:3: note: 	virtual itk::SingleValuedCostFunction::MeasureType itk::SingleValuedCostFunction::GetValue(const ParametersType&) const
   GetValue(const ParametersType & parameters) const = 0;
   ^~~~~~~~
/home/nick/Downloads/InsightToolkit-5.1.2/Modules/Numerics/Optimizers/include/itkSingleValuedCostFunction.h:69:3: note: 	virtual void itk::SingleValuedCostFunction::GetDerivative(const ParametersType&, itk::SingleValuedCostFunction::DerivativeType&) const
   GetDerivative(const ParametersType & parameters, DerivativeType & derivative) const = 0;
   ^~~~~~~~~~~~~
test/CMakeFiles/ThinShellDemonsTestDriver.dir/build.make:89: recipe for target 'test/CMakeFiles/ThinShellDemonsTestDriver.dir/itkThinShellDemonsTest.cxx.o' failed
make[2]: *** [test/CMakeFiles/ThinShellDemonsTestDriver.dir/itkThinShellDemonsTest.cxx.o] Error 1
CMakeFiles/Makefile2:1049: recipe for target 'test/CMakeFiles/ThinShellDemonsTestDriver.dir/all' failed
make[1]: *** [test/CMakeFiles/ThinShellDemonsTestDriver.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2

All of the errors have come from ITK_DISALLOW_COPY_AND_MOVE(*)

What should I do to fix it? Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions