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
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 2All of the errors have come from
ITK_DISALLOW_COPY_AND_MOVE(*)What should I do to fix it? Thanks