[Insight-users] Build ITK 3.14.0 under Win XP x64 and Visual Studio 2008

Luis Ibanez luis.ibanez at kitware.com
Thu Jun 18 09:31:12 EDT 2009


Hi Tom,

Thanks for the additional information.

A) Those other projects that you have build,
    where they C++ projects ?

B) Where they configured with CMake ?

C) Do you have other versions of Visual Studio installed ?



---


Something is going wrong during the configuration of VXL.

The errors of type:

 >> 
("10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(16) 

 >>
 >>     : error C2182: 'type' : illegal use of type 'void'


indicate that the type:


        vxl_int_32

is being declared as a typedef for "void".

This is done in the vxl_config.h file that is generated from
the source file:


    Insight/Utilities/vxl/core/vxl_config.h.in


and results in a file in the binary directory:


    InsightBin/Utilities/vxl/core/vxl_config.h


Please open that file (vxl_config.h) in the binary directory
of ITK and look at the declaration of vxl_int_32


In a normal system you will find lines such as

#define VXL_HAS_INT_32 1
#define VXL_INT_32_STRING "int"
#if 1
   typedef          int vxl_int_32;
   typedef   signed int vxl_sint_32;
   typedef unsigned int vxl_uint_32;
#else
# define vxl_int_32  void
# define vxl_sint_32 void
# define vxl_uint_32 void
#endif



Most likely in your system you will find that
the code is


#define VXL_HAS_INT_32 0
#define VXL_INT_32_STRING "int"
#if 0
   typedef          int vxl_int_32;
   typedef   signed int vxl_sint_32;
   typedef unsigned int vxl_uint_32;
#else
# define vxl_int_32  void
# define vxl_sint_32 void
# define vxl_uint_32 void
#endif


This may be the result of your compiler failing
to pass the Test that CMakes performs at configuration
time for figuring out if your compiler can manage
32 integers.


All, in all, still looks lika a basic misconfiguration
of your compiler, of a mixture of C and C++ compilers.


Please go to the binary directory and to its subdirectory
CMakeFiles, then take the files


    * CMakeError.log
    * CMakeOutput.log

and send them to us.


    Thanks


       Luis


--------------------
Thomas Hack wrote:
> Hi Luis!
> 
> thanks for your quick response. My other projects compile without any 
> problem in 64 bits with VS2008. Thats why those errors are so strange to 
> me. I also rebuilded the complete project starting from cmake. Do you 
> have any other idea?
> 
> Thank you very much,
> 
> Tom
> 
> Luis Ibanez schrieb:
> 
>>
>> Hi Thomas,
>>
>> We build ITK every Night with Visual Studio 8 in 64 bits.
>>
>> Please see the builds from redwall.kitware
>> http://www.cdash.org/CDash/index.php?project=Insight
>>
>>
>> It is likely that your Visual Studio 2008 is not properly installed.
>>
>>
>> Have you build any other projects (different from ITK)
>> with this VS 2008 in 64 bits ?
>>
>>
>> Please let us know,
>>
>>
>>      Thanks
>>
>>
>>           Luis
>>
>>
>> -----------------------------------
>> On Wed, Jun 17, 2009 at 3:42 AM, Thomas Hack <hack at bonn.edu 
>> <mailto:hack at bonn.edu>> wrote:
>>
>>     Hi everyone!
>>
>>     I am trying to build ITK 3.14.0 with cmake 2.6 patch 4 and Visual
>>     Studio 2008 under Windows XP x64. Unfortunately the x64 build
>>     (VS2008 Win64) makes some problems. I will add the build log under
>>     this message. I am facing two different errors. The first is that
>>     a generated executable can't get executed
>>
>>     ( "11>Project : error PRJ0019: A tool returned an error code from
>>     "Generating itksysProcessFwd9xEnc.c"")
>>
>>     and the second one is that the conpiler doesn't like some uses of 
>> void
>>
>>     
>> ("10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(16) 
>>
>>     : error C2182: 'type' : illegal use of type 'void'
>>     
>> 10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(17) 
>>
>>     : error C2182: 'rows' : illegal use of type 'void'
>>     
>> 10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(18) 
>>
>>     : error C2182: 'cols' : illegal use of type 'void'
>>     
>> 10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(19) 
>>
>>     : error C2182: 'imag' : illegal use of type 'void'
>>     
>> 10>D:\libs\ITK\x64\InsightToolkit-3.14.0\Utilities\vxl\core\vnl/vnl_matlab_header.h(20) 
>>
>>     : error C2182: 'namlen' : illegal use of type 'void'").
>>
>>     Does anyone know how to fix this?
>>     Any idea would be appreciated.
>>
>>     Thanks to everybody,
>>
>>     Tom
>>
> 


More information about the Insight-users mailing list