[Insight-developers] Compilation problems with itkIntTypes.h

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Feb 11 14:26:43 EST 2010


I have seen this issue with some compilers when they dump an entire namespace into the global such as:

using namespace std;

or

using namespace itk;

While the c++ standard does specify how to resolve these issues in an intelligent fashion. I believed that the code int itkIntTypes should work. Unfortunately all compilers don't follow the same intelligent behavior.


One possible solution may be to change the following type of decelerating in itkIntTypes.h:

from:

typedef ::int8_t int8_t;

to:

namespace using ::int8_t;


I thought the first would be the least problematic. There is also another possibility. I think the non standard header <cstdint>, may place these typedefs into the std namespace, this may help to resolve some issues with non-compliant compilers, by using one of the prior statements with the std namespace qualifier.

I am not sure what the best approach is going to be, nor if there is one that will work for all systems.


Brad


On Feb 11, 2010, at 2:07 PM, Luis Ibanez wrote:

> Hi Brad,
> 
> 
> The builds of InsightApplications are having problems
> with some types declared in itkIntTypes.h.
> 
> 
> In particular:
> 
> 
> http://www.cdash.org/CDash/viewBuildError.php?buildid=537491
> 
> .../Insight/Code/Common/itkIntTypes.h:117: error:
> typedef intmax_t itk::intmax_t
> 
> (this is a Linux 32bits machine).
> 
> 
> and
> 
> 
> 
> http://www.cdash.org/CDash/viewBuildError.php?buildid=537473
> 
> 86>C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\include\xlocnum(590) : error C2872: 'uintptr_t' : ambiguous
> symbol
> 
> 86>        could be 'C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\include\vadefs.h(50) : unsigned __int64 uintptr_t'
> 86>        or 'd:\cygwin\home\ibanez\dashboards\src\insight\code\common\itkIntTypes.h(166)
> : itk::uintptr_t'
> 
> (this is a Windows 64bits machine).
> 
> 
> Do you have any advice on how these
> compilation errors should be resolved ?
> 
> 
> 
>    Thanks
> 
> 
>         Luis



More information about the Insight-developers mailing list