<div dir="ltr">ITK supports C++11 with GCC 4.8.2 -- we even have a a dashboard build with that configuration, and it has been clean for a long time:<div><br></div><div> <a href="https://open.cdash.org/buildSummary.php?buildid=4150934">https://open.cdash.org/buildSummary.php?buildid=4150934</a></div><div><br></div><div>When configuring ITK (and other applications and libraries), make sure that the -std=c++11 flag is passed during the *initial* CMake configuration. There are CMake try_compiles that occur that assess the compiler, and their results are cached.</div><div><br></div><div><br></div><div>FYI, there was a good recent post on C++ standard ABI compatibility with GCC here:</div><div><br></div><div> <a href="https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/">https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/</a></div><div><br></div><div>A good general rule is to use the same standard for everything that is linked together.</div><div><br></div><div><br></div><div>Regardless, the work Hans has been doing to improved and modernize VXL is very exciting, and it will be great to have that available.</div><div><br></div><div><br></div><div>Matt</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 17, 2015 at 10:37 AM, David Burns <span dir="ltr"><<a href="mailto:david.mo.burns@gmail.com" target="_blank">david.mo.burns@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
With 4.8.2 - I built ITK with C++11 (this required -fpermissive to
complete)<br>
Despite doing that, I was still unable to built ITK applications
with C++11 (even when also using -fpermissive). <br>
<br>
Let me know if you've had different results. I was hoping this would
be resolved with 4.9. <br><span class="HOEnZb"><font color="#888888">
<br>
- David</font></span><div><div class="h5"><br>
<br>
<div>On 12/17/2015 10:18 AM, Bradley
Lowekamp wrote:<br>
</div>
<blockquote type="cite">
Hello,
<div><br>
</div>
<div>I thought we are requiring ITK to be built with
C++11 if your application was going to be build with C++11.</div>
<div><br>
</div>
<div>Is this saying we are going to support changing the
C++ language after CMake configuration of ITK? </div>
<div><br>
</div>
<div>I would think using the C++11 features of explicit
constructor delete or default specifier may results is ABI
compatibilities, among many other things.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Brad</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
<div>
<blockquote type="cite">
<div>On Dec 15, 2015, at 5:06 PM, David Burns <<a href="mailto:david.mo.burns@gmail.com" target="_blank"></a><a href="mailto:david.mo.burns@gmail.com" target="_blank">david.mo.burns@gmail.com</a>>
wrote:</div>
<br>
<div>
<div bgcolor="#FFFFFF" text="#000000"> Thanks
Hans, based on the release schedule it looks like that
will be out pretty soon. <br>
<br>
That's a big improvement to ITK to add c++11 support in
my opinion. Thanks. <br>
<br>
David<br>
<br>
<div>On 12/15/15 15:36, Johnson,
Hans J wrote:<br>
</div>
<blockquote type="cite">
<div>
<div>
<div>This will be fixed when VXL is
updated after the 4.9 release.</div>
<div><br>
</div>
<div>Hans</div>
<div><br>
</div>
<div> </div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:12pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-top-color:rgb(181,196,223)"> <span style="font-weight:bold">From:
</span>Insight-developers <<a href="mailto:insight-developers-bounces@itk.org" target="_blank"></a><a href="mailto:insight-developers-bounces@itk.org" target="_blank">insight-developers-bounces@itk.org</a>>
on behalf of David Burns <<a href="mailto:david.mo.burns@gmail.com" target="_blank"></a><a href="mailto:david.mo.burns@gmail.com" target="_blank">david.mo.burns@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Tuesday,
December 15, 2015 at 2:10 PM<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:insight-developers@itk.org" target="_blank"></a><a href="mailto:insight-developers@itk.org" target="_blank">insight-developers@itk.org</a>"
<<a href="mailto:insight-developers@itk.org" target="_blank">insight-developers@itk.org</a>><br>
<span style="font-weight:bold">Subject: </span>[ITK-dev]
Linux c++11 build issue v4.8.2<br>
</div>
<div><br>
</div>
<div>
<div bgcolor="#FFFFFF" text="#000000">Dear
Insight Developers<br>
<br>
I have compiled v4.8.2 on Ubuntu 14.04
successfully (g++ 4.8), however, I get compiler
errors when building my own ITK applications
with the following cmake flag<br>
<br>
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
-std=c++11"<br>
<br>
I can compile ITK applications when not using
this flag. <br>
<br>
I have tried using -fpermissive when building my
application. I have also tried compiling ITK
using -std=c++11 -fpermissive, individually and
in combination. I always get the same errors.<br>
<br>
Any suggestions would be welcome. Thanks<br>
<br>
David<br>
<br>
<br>
<br>
Compiler errors <br>
<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:387:60:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
float vnl_numeric_traits<float>::zero' of
non-integral type [-fpermissive]<br>
static const float zero
VCL_STATIC_CONST_INIT_FLOAT_DECL(0.0F);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:389:59:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
float vnl_numeric_traits<float>::one' of
non-integral type [-fpermissive]<br>
static const float one
VCL_STATIC_CONST_INIT_FLOAT_DECL(1.0F);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:391:62:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
float vnl_numeric_traits<float>::maxval'
of non-integral type [-fpermissive]<br>
static const float maxval
VCL_STATIC_CONST_INIT_FLOAT_DECL(3.40282346638528860e+38F);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:410:61:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
double vnl_numeric_traits<double>::zero'
of non-integral type [-fpermissive]<br>
static const double zero
VCL_STATIC_CONST_INIT_FLOAT_DECL(0.0);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:412:60:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
double vnl_numeric_traits<double>::one' of
non-integral type [-fpermissive]<br>
static const double one
VCL_STATIC_CONST_INIT_FLOAT_DECL(1.0);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:414:63:
warning: 'constexpr' needed for in-class
initialization of static data member 'const
double vnl_numeric_traits<double>::maxval'
of non-integral type [-fpermissive]<br>
static const double maxval
VCL_STATIC_CONST_INIT_FLOAT_DECL(1.7976931348623157E+308);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:433:66:
warning: 'constexpr' needed for in-class
initialization of static data member 'const long
double vnl_numeric_traits<long
double>::zero' of non-integral type
[-fpermissive]<br>
static const long double zero
VCL_STATIC_CONST_INIT_FLOAT_DECL(0.0);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:435:65:
warning: 'constexpr' needed for in-class
initialization of static data member 'const long
double vnl_numeric_traits<long
double>::one' of non-integral type
[-fpermissive]<br>
static const long double one
VCL_STATIC_CONST_INIT_FLOAT_DECL(1.0);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
/usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:437:68:
warning: 'constexpr' needed for in-class
initialization of static data member 'const long
double vnl_numeric_traits<long
double>::maxval' of non-integral type
[-fpermissive]<br>
static const long double maxval
VCL_STATIC_CONST_INIT_FLOAT_DECL(1.7976931348623157E+308);<br>
^<br>
/usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48:
note: in definition of macro
'VCL_STATIC_CONST_INIT_FLOAT_DECL'<br>
# define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) =
x<br>
^<br>
</div>
</div>
</span><br>
<br>
<hr> Notice: This UI Health Care e-mail
(including attachments) is covered by the Electronic
Communications Privacy Act, 18 U.S.C. 2510-2521, is
confidential and may be legally privileged. If you
are not the intended recipient, you are hereby
notified that any retention, dissemination,
distribution, or copying of this communication is
strictly prohibited. Please reply to the sender that
you have received the message in error, then delete
it. Thank you.
<hr> </blockquote>
<br>
</div>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information
visit:<br>
<a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-developers" target="_blank">http://public.kitware.com/mailman/listinfo/insight-developers</a><br>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-developers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-developers</a><br>
<br></blockquote></div><br></div>