<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>