Hi Willi,<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top">
<p>some time ago I tried to compile ITK with the Support for Python using Visual Studio 2010 with Win64. I wanted to support 2,3,4 and 5 dimensions and all available datatypes. I committed some patches to get rid of some errors I&#39;ve found.</p>

<p>That time I ran into a lot of issues and discontinued.<br></p></td></tr></tbody></table></blockquote><div><br>With your efforts and the efforts of some other community members, the Python wrapping on Windows is steadily improving.  Note that it might still be some time before we will be able to do Visual Studio 2010, but VS2008 and MinGW are much improved.  We now have a contributed VS2008 nightly dashboard build, which helps considerably.<br>
 <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top"><p></p>
<p>Now I started again compiling and wanted to use VS2008 with only win32. Again I added 4 and 5 dimensions to the standard 2 and 3 and I switched on all the available datatypes for Python support.</p></td></tr></tbody></table>
</blockquote><div><br>Switching on all the available datatypes is good for testing, but it does come with compilation time and library size overhead.<br><br>We have a patch for 4 dimensions on Windows here:<br><br>  <a href="http://review.source.kitware.com/#/c/8161/">http://review.source.kitware.com/#/c/8161/</a><br>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top">
<p>This time I got the following compiler or linker error:<br></p>
<p>itkZeroFluxNeumannPadImageFilterPython.cpp</p>
<p>itkWrapPadImageFilterPython.cpp</p>
<p>itkWarpImageFilterPython.cpp</p>
<p>itkVectorResampleImageFilterPython.cpp</p>
<p>itkTileImageFilterPython.cpp</p>
<p>itkSliceBySliceImageFilterPython.cpp</p>
<p>itkShrinkImageFilterPython.cpp</p>
<p>itkResampleImageFilterPython.cpp</p>
<p>itkRegionOfInterestImageFilterPython.cpp</p>
<p>itkPermuteAxesImageFilterPython.cpp</p>
<p>itkPasteImageFilterPython.cpp</p>
<p>itkOrientImageFilterPython.cpp</p>
<p>itkMirrorPadImageFilterPython.cpp</p>
<p>itkInterpolateImageFilterPython.cpp</p>
<p>itkFlipImageFilterPython.cpp</p>
<p>itkExpandImageFilterPython.cpp</p>
<p>itkCyclicShiftImageFilterPython.cpp</p>
<p>itkCropImageFilterPython.cpp</p>
<p>itkBSplineUpsampleImageFilterPython.cpp</p>
<p>itkBSplineDownsampleImageFilterPython.cpp</p>
<p>Code wird generiert...</p>
<p>c:\itksrc\modules\core\common\include\itkimage.h(284) : fatal error C1128: Die Anzahl von Abschnitten hat das Formatierungslimit der Objektdatei überschritten: Kompilieren mit /bigobj.</p>
<p> Ergebnisse     Das Buildprotokoll wurde unter &quot;file://c:\itkbin\Wrapping\Modules\ITKImageGrid\ITKImageGridPython.dir\Release\BuildLog.htm&quot; gespeichert.</p>
<p>ITKImageGridPython - 1 Fehler, 0 Warnung(en)<br></p>
<p>I did the compilation of this example by hand with /bigobj as extra flag and voila it worked.</p></td></tr></tbody></table></blockquote><div><br>Excellent!  Good find.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font:inherit" valign="top">
<p>Then I wanted to add the /bigobj flag to my CMake configuration so that it automatically is included and I can commit a patch for review.</p>
<p>In CMake/ITKSetStandardCompilerFlags.cmake I &#39;ve found a option that already made use of /bigobj whenever VS2005 is used or Win64 is enabled.</p>
<p>Since /bigobj is allowed after VS2005 I changed:<br></p>
<p>if(CMAKE_CL_64 OR CMAKE_COMPILER_2005)</p>
<p>set(ITK_REQUIRED_CXX_FLAGS &quot;${ITK_REQUIRED_CXX_FLAGS} /bigobj&quot;)</p>
<p>endif()<br></p>
<p>to: <br></p>
<p>         if(MSVC_VERSION GREATER 1400 OR MSVC_VERSION EQUAL 1400)</p>
<p>           set(ITK_REQUIRED_CXX_FLAGS &quot;${ITK_REQUIRED_CXX_FLAGS} /bigobj&quot;)</p>
<p>         endif()<br></p>
<p>which might not be 100 percent correct but at least it does what I want it to do what I&#39;ve checked with:</p>
<p>        </p>
<p>        message(&quot;Flags are ${ITK_REQUIRED_CXX_FLAGS}&quot;)<br></p>
<p>which shows me:<br></p>
<p>        Flags are /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR -W3 /bigobj<br></p>
<p>I assume the -W3 to be wrong and commented the generating line.</p>
<p>My problem is now that its not appearing in the final results of CMAKE_CXX_FLAGS although it is in the variable at the end of CMakeLists.txt in C:\itksrc which I checked with a message.<br></p></td></tr></tbody></table>
</blockquote><div><br>This may or may not be a problem.<br><br>To check on what flags are actually being passed to the compiler with my VS2008 Express Edition, I go to Tools -&gt; Options -&gt; Projects And Solutions -&gt; Build and Run -&gt; MSBuild project build output verbosity.<br>
<br>Looking forward to the patch!<br><br>Thanks,<br>Matt<br> <br></div></div>