ITK build problems

I would have put this in the issues tracker, but it appears to be down. There have been some recent changes on the github.com version of ITK and I can no longer build. In particular the errors relate to the ExceptionObject:
/home/melrobin/packages/ITK/Modules/Core/Common/include/itkMacro.h:738:5: error:
variable has incomplete type ‘::itk::ExceptionObject’
itkGenericExceptionMacro(<< "Failed dynamic cast to "
^
/home/melrobin/packages/ITK/Modules/Core/Common/include/itkMacro.h:443:28: note:
expanded from macro ‘itkGenericExceptionMacro’
::itk::ExceptionObject e_(FILE, LINE, message.str().c_str()…
^
/home/melrobin/packages/ITK/Modules/Core/Common/include/itkMacro.h:61:7: note:
forward declaration of ‘itk::ExceptionObject’
class ExceptionObject;

Does anyone have an idea of why this behavior could be occurring?

The problem is related to this gerrit topic:
http://review.source.kitware.com/#/c/23250/

There is the following question still open on how best to fix is:

This is the only function defined in this file, the rest are just macros To resolve the referenced error the declaration needs to be separated from the definition of the function.
Should the definition of the implementation be moved to the end of the file or to a file such as “itkMacro.hxx”?

How about converting it to a macro?

Here is a patch to address the issue:

http://review.source.kitware.com/#/c/23271/

2 Likes