<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt">Hi,<br><br>First I apologize to have taken so long to get back to you on this issue, but I was busy on some things, and I wanted to find a way to reproduce the problem in a simple manner so you could also experience it.<br><br>I have been working on my spare time to reproduce the problem 'easily'. And I just got it tonight.<br><br>But before going on, let me reply to your question from your last reply: first question: "1) Are you observing this problem both in MinGW and in your 
Ubuntu installation ?", the answer is yes.<br>To your second question: 2) Do you observe this problem when you use ITK without Qt ?, the answer is no.<br>And for the third: 3) Do you have anywhere in your code an statement: using namespace std;&nbsp; the answer is no.<br><br>To reproduce the problem I started from the QtITK example from the ITK Applications download (I'm sure you see the application I'm talking about).<br>So, I use CMake v2.8 to build it on my Ubuntu, and then, and compiled it. And it worked ! But, after inspecting the compile lines (by making the compilation verbose, i.e. CMAKE_VERBOSE_MAKEFILE), I saw that with the QtITK application, the directory /usr/local/include/itk3.18.0/Utilities/itksys was not in the include dependencies.<br>So, I took the CMakeLists.txt from the QtITK application, and I updated it to add the include directories such as:<br><br><br>--------------------- Begining of the CMakeLists.txt of QtITK application&nbsp;
 -------------------<br>CMAKE_MINIMUM_REQUIRED(VERSION 2.4)<br>IF(COMMAND CMAKE_POLICY)<br>&nbsp; CMAKE_POLICY(SET CMP0003 NEW)<br>ENDIF(COMMAND CMAKE_POLICY)<br><br>PROJECT(QtITKExample)<br><br>SET( BUILD_OUTSIDE_INSIGHT_APPLICATIONS TRUE )<br><br>IF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )<br><br>&nbsp; FIND_PACKAGE(ITK)<br>&nbsp; IF(ITK_FOUND)<br>&nbsp;&nbsp;&nbsp; INCLUDE(${ITK_USE_FILE})<br>&nbsp;&nbsp;&nbsp; INCLUDE_DIRECTORIES(/usr/local/include/itk-3.18.0/Utilities/itksys)<br>&nbsp; ELSE(ITK_FOUND)<br>&nbsp;&nbsp;&nbsp; MESSAGE(FATAL_ERROR<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Cannot build InsightApplications without ITK.&nbsp; Please set ITK_DIR.")<br>&nbsp; ENDIF(ITK_FOUND)<br><br>ENDIF( BUILD_OUTSIDE_INSIGHT_APPLICATIONS )<br><br>----------------------------------------------------------------------------------------<br>I just added "INCLUDE_DIRECTORIES(/usr/local/include/itk-3.18.0/Utilities/itksys)" so the QtITK
 application will include this directory as my real application does it (from which I found out this issue).<br><br>After re-configuring and re-generating with cmake, I ran "make", and my compilation problem has been reproduced ! (I will not copy/paste here the lengthy error messages that I got, because I'm quite confident that with the information I gave hereabove, you may&nbsp; be able to reproduce the problem and see the error for yourself).<br>I reproduced it the same way on my windows mingw's with gcc 3.4.5, and 4.4, and on my ubuntu is on gcc 4.4.3, and a debian gcc 4.4 (each time itk 3.18.0 has been used with Qt 4.6.2 - everything compiled and installed with the native compiler of the environment).<br><br>And, of course, if I use my workaround (renaming cstddef into cstddef.h of the Utilities/itksys directory), QtITK compiles again!<br><br>I still don't understand what's going on. If you need further information to reproduce the problem on your
 side, I'll be glad to help.<br><br>Thanks,<br>Chris<br><br><div><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font face="Tahoma" size="2"><hr size="1"><b><span style="font-weight: bold;">De :</span></b> Luis Ibanez &lt;luis.ibanez@kitware.com&gt;<br><b><span style="font-weight: bold;">À :</span></b> Merlin Lenchanteur &lt;tibouroxane@yahoo.fr&gt;<br><b><span style="font-weight: bold;">Cc :</span></b> insight-users@itk.org<br><b><span style="font-weight: bold;">Envoyé le :</span></b> Mer 28 avril 2010, 6 h 06 min 30 s<br><b><span style="font-weight: bold;">Objet&nbsp;:</span></b> Re: Re : [Insight-users] issue with the file: cstddef - Qt and ITK  and g++<br></font><br><meta http-equiv="x-dns-prefetch-control" content="off"><br>Hi Merlin,<br><br>Thanks for the additional information.<br><br>Just to clarify:<br><br><br>1) Are
 you observing this problem both in<br>&nbsp; &nbsp; MinGW and in your Ubuntu installation ?<br><br><br>2) Do you observe this problem when you<br>
&nbsp;&nbsp;&nbsp; use ITK without Qt ?<br><br>&nbsp;&nbsp;&nbsp; For example, if you reconfigure ITK<br>&nbsp;&nbsp;&nbsp; to turn ON&nbsp; BUILD_EXAMPLES and<br>&nbsp;&nbsp;&nbsp; BUILD_TESTING, and then build the<br>&nbsp;&nbsp;&nbsp; ITK project.... do you get any compilation<br>&nbsp;&nbsp;&nbsp; errors (when using the original code).<br>
<br><br>3) Do you have anywhere in your code an<br>&nbsp;&nbsp;&nbsp; statement:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using namespace std;<br><br>&nbsp;&nbsp;&nbsp;&nbsp; ??<br><br><br>&nbsp; Please let us know,<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br>&nbsp;<br><br>
--------------------------------------------------------------------------<br><div class="gmail_quote">On Tue, Apr 27, 2010 at 3:59 AM, Merlin Lenchanteur <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:tibouroxane@yahoo.fr" target="_blank" href="mailto:tibouroxane@yahoo.fr">tibouroxane@yahoo.fr</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">
<div>Hello,<br><br>First, thanks for your reply and your point of view.<br><br>To reply to your question : " What is the value of this variable in your MinGW build ?" it is 1. And Yes, I do have a&nbsp; "cstddef" file in the include directory of Gcc under my MinGWs (gcc 3.4.5 and 4.4), and also in my Ubuntu 9.10 distribution in the directory you mentioned.<br>
<br>With my workaround (renaming file Utilities \ itksys \ cstddef&nbsp;&nbsp; to Utilities \ itksys \ cstddef.h) I was able to move on in my development of my application in all platforms. So I did not take any more time to look further into this problem. <br>
The thing that worries me the most is the fact to
 have to do this 'patch' every time I'll use a new version of itk or when I will recompiled/reinstalled it. I'll try one of those days to look into this problem again. Even though I'm quite confident with my path and include directories in my development configurations.<br>
<br>Thanks,<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font face="Tahoma" size="2"><hr size="1">
<b><span style="font-weight: bold;">De :</span></b> Luis Ibanez &lt;<a rel="nofollow" ymailto="mailto:luis.ibanez@kitware.com" target="_blank" href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;<br><b><span style="font-weight: bold;">À :</span></b> Merlin Lenchanteur &lt;<a rel="nofollow" ymailto="mailto:tibouroxane@yahoo.fr" target="_blank" href="mailto:tibouroxane@yahoo.fr">tibouroxane@yahoo.fr</a>&gt;<div class="im">
<br><b><span style="font-weight: bold;">Cc :</span></b> <a rel="nofollow" ymailto="mailto:insight-users@itk.org" target="_blank" href="mailto:insight-users@itk.org">insight-users@itk.org</a><br></div><b><span style="font-weight: bold;">Envoyé le :</span></b> Jeu 22 avril 2010, 16 h 34 min 17 s<br>
<b><span style="font-weight: bold;">Objet&nbsp;:</span></b> Re: [Insight-users]
 issue with the file: cstddef - Qt and ITK and g++<br></font><div><div></div><div class="h5"><br><br>Hi Merlin,<br><br>Thanks for your detailed email and for sharing this findings.<br><br><br>Looking at the content of the cstddef might be enlightening: <br>
<br><br>-------------------------------------------------------------------<br>
#ifndef itksys_cstddef<br>#define itksys_cstddef<br><br>#include &lt;itksys/Configure.hxx&gt;<br><br>/* Avoid warnings in MSVC standard headers.&nbsp; */<br>#ifdef _MSC_VER<br># pragma warning (push, 1)<br># pragma warning (disable: 4702)<br>

# pragma warning (disable: 4786)<br>#endif<br><br>/* Include the real header.&nbsp; */<br>#if itksys_CXX_HAS_CSTDDEF<br># include &lt;cstddef&gt;<br>#else<br># include &lt;stddef.h&gt;<br>#endif<br><br>#ifdef _MSC_VER<br># pragma warning(pop)<br>

#endif<br><br>#endif<br><br>-------------------------------------------------------<br><br><br>The primary suspect for the conflict that you are observing <br>is the variable:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; itksys_CXX_HAS_CSTDDEF<br>

<br>this variable get set during the configuration process <br>via try-compiles.<br><br>and decides whether this file is going to redirect&nbsp; <br>the include to:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # include &lt;cstddef&gt;<br>or to<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # include &lt;stddef.h&gt;<br><br><br>The value is set in the file<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configure.hxx<br><br>(in the binary directory Utilities/itksys)<br><br><br>In a Visual Studio 9 configuration, this variable is set to<br>

<br>&nbsp;Configure.hxx: #define itksys_CXX_HAS_CSTDDEF 1<br><br>in a Ubuntu Linux 9.10 gcc 4.4 configuration, it gets set to<br><br>&nbsp;Configure.hxx: #define itksys_CXX_HAS_CSTDDEF 1<br>
<br><br>So, the question is:<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; What is the value of this variable <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in your MinGW build ?<br><br>and... do you have a&nbsp; "cstddef" file in the include directory<br>of Gcc under MinGW ?<br>

<br>As a reference, <br>In Ubuntu Linux, with gcc 4.4 this file is at:<br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; /usr/include/c++/4.4/cstddef<br><br><br><br>&nbsp;&nbsp;&nbsp; Please let us know what you find,<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Luis<br>

<br><br>------------------------------------------------<br><div class="gmail_quote">On Tue, Apr 20, 2010 at 3:00 PM, Merlin Lenchanteur <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:tibouroxane@yahoo.fr" target="_blank" href="mailto:tibouroxane@yahoo.fr">tibouroxane@yahoo.fr</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">

<div>Hello,<br><br>
I just wanted to point out what could seems a very small detail at
 first, but in the end, I spent quite a few hours (even days) to find it
 out.<br>
<br>
My environments are the following:<br>
First:<br>
Win32 - XP Pro<br>
Qt 4.6.2 (opensource edition)<br>
ITK 3.12 and 3.16<br>
Mingw 3.4.5 and 4.4.0<br>
<br>
Second:<br>
Ubuntu 9.10 (Karmic Koala) 32 bits<br>
Qt 4.6.2 (opensource edition)<br>
ITK 3.18<br>
compiler: gnu 4.4.1<br>
<br>
On both configuration: CMake v2.8<br>
<br>
I wanted to use Qt and ITK together in my applications and with mingw 
3.4.5 (and now 4.4) for Win32 or gnu 4.4.1 for Linux. But when 
compiling, I had weird errors about std::size_t not found. Typical errors when we are missing includes or dependencies.<br>
I tried with Win32 using microsoft visual studio, but there was no 
problem. It only appears with the g++ compiler.<br>
<br>
<br>
Step to reproduce the problem:<br>
Prerequisite: Qt and ITK correctly set up.<br>
Write a simple main.cpp program which include qapplication.h (for example).<br>
Create a makefile which contains Qt and all ITK dependencies and 
includes ( don't forget Utilities\itksys - it's there that the problem 
lies).<br>
Run make --&gt; error<br>
If you remove all the ITK dependencies and includes, the make succeeds 
(but then we can not use ITK :(!!).<br>
<br>
<br>
How I solved it:<br>
The problem is in the install directory of ITK.<br>
To build and install ITK, I used CMake. In the settings, I remove 
threading (because I don't need it). The CMake part and the build of ITK
 runs smoothly.<br>
Then I run "make install". So far, so good; everything is installed in 
my install directory (I thought).<br>
<br>
In fact, the filename cstddef does not contain the '.h' extension in the 
directory<br>
"install \ include \ InsightToolkit \ Utilities \ itksys".<br>
I changed this (renamed cstddef to cstddef.h), and then, everything went
 well for me from that point on.<br>
<br>
Is there any particular reason for this file not to have the .h 
extension as all its friends next to it in the directory? or is this a 
bug ?<br>
<br>
I spent quite a long time to find this out, by first rechecking my code 
(before going to a simple study case), redownloading and recompiling Qt 
and ITK, changing compilers version and so on.<br>
<br>
If my current fix (the fact to add the extension '.h' to the cstddef filename) is not 
recommended, please, let me know, but if you could help me fix 
my problem then, I'll take any suggestions.<br><br>Anyway, my proposed fix might help somebody.<br>
<br>
good day,<br>
<br>
</div>
</div>
</div><br>




      </div><br>_____________________________________<br>
Powered by <a rel="nofollow" target="_blank" href="http://www.kitware.com">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a rel="nofollow" target="_blank" href="http://www.kitware.com/opensource/opensource.html">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a rel="nofollow" target="_blank" href="http://www.kitware.com/products/protraining.html">http://www.kitware.com/products/protraining.html</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a rel="nofollow" target="_blank" href="http://www.itk.org/Wiki/ITK_FAQ">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a rel="nofollow" target="_blank" href="http://www.itk.org/mailman/listinfo/insight-users">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br></blockquote></div><br>
</div></div></div></div> 
</div>
</div><br>




      </div></blockquote></div><br>
<meta http-equiv="x-dns-prefetch-control" content="on"></div></div>
</div><br>




      </body></html>