Closed arnaudgelas closed 12 years ago
You have to compile ITK with c++0x enabled by adding -std=gnu++0x to CMAKE_CXX_FLAGS
NOTE: you cannot configure ITK and THEN set CMAKE_CXX_FLAGS and reconfigure - you MUST run:
ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x
to set it the very first time. Seems really silly to me, but this fix is thanks to Brad King.
In this particular case an external project would be good ;)
I'm not familiar with term, can you elaborate?
for instance something like this
set( ITK_TAG "v4.1.0" )
ExternalProject_Add( ITK GIT_REPOSITORY "${git_protocol}://itk.org/ITK.git" GIT_TAG "${ITK_TAG}" SOURCE_DIR ITK BINARY_DIR ITK-build CMAKE_GENERATOR ${gen} CMAKE_ARGS ${ep_common_args} -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_EXAMPLES:BOOL=OFF -DBUILD_TESTING:BOOL=OFF -DITK_BUILD_ALL_MODULES:BOOL=ON -DITK_USE_REVIEW:BOOL=ON INSTALL_COMMAND "" )
Interesting - I'll look into it. I'm assuming I could add some conditionals to check if the settings were correct on the local ITK build and use the external project only if they were not?
As long as you can access the settings at cmake time, sure! For more examples, you can have a look at ITKExamples
When I compiled ITK with this flag, I get the following errors:
[ 2%] Building CXX object Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.cxx.o In file included from /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:8:0: /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:87:27: error: ‘constexpr’ needed for in-class initialization of static data member ‘e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:88:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘log2e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:89:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘log10e’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:90:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:91:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln10’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:92:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:93:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:94:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_4’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:95:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:96:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:97:41: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_sqrtpi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:98:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_sqrt2pi’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:99:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:100:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt1_2’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:101:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘euler’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:104:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘eps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:105:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrteps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:107:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_eps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:108:38: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_sqrteps’ of non-integral type /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:84:24: error: ‘const double vnl_math::e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:84:14: error: uninitialized const ‘vnl_math::e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:85:24: error: ‘const double vnl_math::log2e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:85:14: error: uninitialized const ‘vnl_math::log2e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:86:24: error: ‘const double vnl_math::log10e’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:86:14: error: uninitialized const ‘vnl_math::log10e’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:87:24: error: ‘const double vnl_math::ln2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:87:14: error: uninitialized const ‘vnl_math::ln2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:88:24: error: ‘const double vnl_math::ln10’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:88:14: error: uninitialized const ‘vnl_math::ln10’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:89:24: error: ‘const double vnl_math::pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:89:14: error: uninitialized const ‘vnl_math::pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:90:24: error: ‘const double vnl_math::pi_over_2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:90:14: error: uninitialized const ‘vnl_math::pi_over_2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:91:24: error: ‘const double vnl_math::pi_over_4’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:91:14: error: uninitialized const ‘vnl_math::pi_over_4’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:92:24: error: ‘const double vnl_math::one_over_pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:92:14: error: uninitialized const ‘vnl_math::one_over_pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:93:24: error: ‘const double vnl_math::two_over_pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:93:14: error: uninitialized const ‘vnl_math::two_over_pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:94:24: error: ‘const double vnl_math::two_over_sqrtpi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:94:14: error: uninitialized const ‘vnl_math::two_over_sqrtpi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:95:24: error: ‘const double vnl_math::one_over_sqrt2pi’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:95:14: error: uninitialized const ‘vnl_math::one_over_sqrt2pi’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:96:24: error: ‘const double vnl_math::sqrt2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:96:14: error: uninitialized const ‘vnl_math::sqrt2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:97:24: error: ‘const double vnl_math::sqrt1_2’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:97:14: error: uninitialized const ‘vnl_math::sqrt1_2’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:98:24: error: ‘const double vnl_math::euler’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:98:14: error: uninitialized const ‘vnl_math::euler’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:101:24: error: ‘const double vnl_math::eps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:101:14: error: uninitialized const ‘vnl_math::eps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:102:24: error: ‘const double vnl_math::sqrteps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:102:14: error: uninitialized const ‘vnl_math::sqrteps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:105:23: error: ‘const float vnl_math::float_eps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:105:13: error: uninitialized const ‘vnl_math::float_eps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:106:23: error: ‘const float vnl_math::float_sqrteps’ is not a static member of ‘class vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:106:13: error: uninitialized const ‘vnl_math::float_sqrteps’ [-fpermissive] /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx: In static member function ‘static double vnl_math::angle_0_to_2pi(double)’: /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:291:16: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:292:28: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:294:12: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:294:47: error: ‘pi’ is not a member of ‘vnl_math’ /home/ajg23/DEVEL/src/ITKDoria/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.cxx:304:21: error: ‘pi’ is not a member of ‘vnl_math’ make[2]: * [Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/vnl_math.cxx.o] Error 1 make[1]: * [Modules/ThirdParty/VNL/src/vxl/core/vnl/CMakeFiles/itkvnl.dir/all] Error 2
Is it a reasonably new ITK? And also did you run this command on a brand new build directory?
ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x
so that the flag was set the very first time configure was run? If you did those things I'm not sure what else to tell you?
it is the master branch from this morning, and from a brand new build dir...
I used gcc 4.6.3 and cmake 2.8.7, I ll retry now
same thing... I am shooting an email on the list
This was fixed by passing the flag as an argument the very first time cmake is run in an empty build directory:
ccmake ~/src/ITK -DCMAKE_CXX_FLAGS=-std=gnu++0x
I know it is related to VXL, but it should be mentioned here.
/home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:366:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:368:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:370:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:389:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:391:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:393:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:412:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘zero’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:414:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘one’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_numeric_traits.h:416:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘maxval’ of non-integral type In file included from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkVector.hxx:21:0, from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkVector.h:304, from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkCovariantVector.h:23, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/ImageTypes.h:22, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:22, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:87:27: error: ‘constexpr’ needed for in-class initialization of static data member ‘e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:88:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘log2e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:89:32: error: ‘constexpr’ needed for in-class initialization of static data member ‘log10e’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:90:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:91:30: error: ‘constexpr’ needed for in-class initialization of static data member ‘ln10’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:92:28: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:93:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:94:35: error: ‘constexpr’ needed for in-class initialization of static data member ‘pi_over_4’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:95:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:96:37: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:97:41: error: ‘constexpr’ needed for in-class initialization of static data member ‘two_over_sqrtpi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:98:42: error: ‘constexpr’ needed for in-class initialization of static data member ‘one_over_sqrt2pi’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:99:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:100:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrt1_2’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:101:31: error: ‘constexpr’ needed for in-class initialization of static data member ‘euler’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:104:29: error: ‘constexpr’ needed for in-class initialization of static data member ‘eps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:105:33: error: ‘constexpr’ needed for in-class initialization of static data member ‘sqrteps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:107:34: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_eps’ of non-integral type /home/ajg23/DEVEL/ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/vnl_math.h:108:38: error: ‘constexpr’ needed for in-class initialization of static data member ‘float_sqrteps’ of non-integral type In file included from /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.h:120:0, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageSource/include/itkGaussianImageSource.hxx:22, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageSource/include/itkGaussianImageSource.h:148, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx:23, from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.h:248, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.hpp:29, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.h:486, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.hxx:21, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:64, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.hxx: In member function ‘itk::GaussianSpatialFunction<TOutput, VImageDimension, TInput>::OutputType itk::GaussianSpatialFunction<TOutput, VImageDimension, TInput>::Evaluate(const TInput&) const’: /home/ajg23/DEVEL/ITK/Modules/Core/Common/include/itkGaussianSpatialFunction.hxx:57:56: error: ‘pi’ is not a member of ‘vnl_math’ In file included from /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.h:248:0, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.hpp:29, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ITKHelpers/ITKHelpers.h:486, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.hxx:21, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.h:64, from /home/ajg23/DEVEL/src/PatchBasedInpainting/ImageProcessing/Derivatives.cpp:19: /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx: In member function ‘void itk::BilateralImageFilter<TInputImage, TOutputImage>::BeforeThreadedGenerateData()’: /home/ajg23/DEVEL/ITK/Modules/Filtering/ImageFeature/include/itkBilateralImageFilter.hxx:209:57: error: ‘pi’ is not a member of ‘vnl_math’