I'm working from Ubuntu 24.04 LTS, which uses gcc 13. I've also built InsightToolkit 5.4.0 locally with the same setup. I cloned the master branch of PETPVC and attempted to build it.
The compiler complained about "FuzzyCorrFilter" not existing when referenced in petpvcFuzzyCorrectionFilter. It suggested I may have intended "FuzzyCorrectionFilter" instead.
In file included from /usr/local/include/ITK-6.0/itkLightObject.h:21,
from /usr/local/include/ITK-6.0/itkObject.h:31,
from /usr/local/include/ITK-6.0/itkRegion.h:31,
from /usr/local/include/ITK-6.0/itkImageRegion.h:31,
from /usr/local/include/ITK-6.0/itkImage.h:21,
from /home/mike/Projects/PETPVC/src/IterativeYang.cxx:34:
/home/mike/Projects/PETPVC/lib/petpvcFuzzyCorrectionFilter.h: In member function ‘const char* petpvc::FuzzyCorrectionFilter<TImage>::GetNameOfClass() const’:
/home/mike/Projects/PETPVC/lib/petpvcFuzzyCorrectionFilter.h:56:18: error: ‘FuzzyCorrFilter’ was not declared in this scope; did you mean ‘FuzzyCorrectionFilter’?
56 | itkTypeMacro(FuzzyCorrFilter, ImageToImageFilter);
| ^~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/pvc_iy.dir/build.make:76: src/CMakeFiles/pvc_iy.dir/IterativeYang.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:300: src/CMakeFiles/pvc_iy.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I'm a python coder who hasn't written C/C++ in many years, and I never got into type libraries, so I have no real idea what I'm doing here. But making that change allowed for my build to complete successfully.
I'm working from Ubuntu 24.04 LTS, which uses gcc 13. I've also built InsightToolkit 5.4.0 locally with the same setup. I cloned the master branch of PETPVC and attempted to build it.
The compiler complained about "FuzzyCorrFilter" not existing when referenced in petpvcFuzzyCorrectionFilter. It suggested I may have intended "FuzzyCorrectionFilter" instead.
In file included from /usr/local/include/ITK-6.0/itkLightObject.h:21, from /usr/local/include/ITK-6.0/itkObject.h:31, from /usr/local/include/ITK-6.0/itkRegion.h:31, from /usr/local/include/ITK-6.0/itkImageRegion.h:31, from /usr/local/include/ITK-6.0/itkImage.h:21, from /home/mike/Projects/PETPVC/src/IterativeYang.cxx:34: /home/mike/Projects/PETPVC/lib/petpvcFuzzyCorrectionFilter.h: In member function ‘const char* petpvc::FuzzyCorrectionFilter<TImage>::GetNameOfClass() const’: /home/mike/Projects/PETPVC/lib/petpvcFuzzyCorrectionFilter.h:56:18: error: ‘FuzzyCorrFilter’ was not declared in this scope; did you mean ‘FuzzyCorrectionFilter’? 56 | itkTypeMacro(FuzzyCorrFilter, ImageToImageFilter); | ^~~~~~~~~~~~~~~ make[2]: *** [src/CMakeFiles/pvc_iy.dir/build.make:76: src/CMakeFiles/pvc_iy.dir/IterativeYang.cxx.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:300: src/CMakeFiles/pvc_iy.dir/all] Error 2 make: *** [Makefile:166: all] Error 2I'm a python coder who hasn't written C/C++ in many years, and I never got into type libraries, so I have no real idea what I'm doing here. But making that change allowed for my build to complete successfully.