[Insight-users] Suddenly I cannot compile ITK anymore (more infos)

Klaus Drechsler drechsler at gmx.net
Sat Jun 13 09:37:07 EDT 2009


Hi,

I have some more information and insight, but still no solution.

It seems that I have the same problem than posted in this mailinglist 5 
years ago:
http://www.itk.org/pipermail/insight-users/2004-April/008208.html
http://www.itk.org/pipermail/insight-users/2004-April/008270.html

* I had VS2005 and VS2008 installed on my PC and uninstalled VS2005.

* The workaround in the first message in the second link also works for me:
If I comment
  #emulation/vcl_hash_map.txx          emulation/vcl_hash_map.h
  #emulation/vcl_multimap.txx          emulation/vcl_multimap.h
in CMakeLists.txt of VXL then everything compiles just fine.

* Because "emulation/vcl_multimap.txx" is compiled I get all the error 
messages. "emulation/vcl_multimap.txx" includes "emulation/vcl_map.h" 
and in "emulation/vcl_map.h" the header "emulation/vcl_tree.h" is 
included and so on. This leads to almost all the error messages that I 
attached in my previous post to this mailinglist.

* If I rename emulation\vcl_multimap.txx and try to compile then the 
compiler complains about this file being missing.
This is strange, because the compiler should not try to compile this 
file. In vcl_map.h the header emulation/vcl_multimap.h is *not* 
included. I checked it by adding a garbage line within this #if statement:

#if !VCL_USE_NATIVE_STL
# include "emulation/vcl_map.h"
# include "emulation/vcl_multimap.h"

* At work I have VS2005 and VS2008 installed, but I am using VS2008 for 
ITK. I checked right now (via remote desktop) if I see any differences. 
And indeed at work all the files listed under "itkvcl/Header Files" are 
disabled (they appear with a red '-') and are thus not included in the 
build. On my machine at home all the files under "itkvcl/Header Files" 
are included in the build.

When I disable/exclude the files under "itkvcl/Header Files" manually 
(by setting "Exclude from build" in the properties to "yes") everything 
compiles just fine as before.

So, I found the cause: Because on my machine all the files under 
"itkvcl/Header Files" are included in the build 
"emulation/vcl_multimap.txx" is being compiled causing all the errors.  
Thus I can reduce my problem to the question:

What (which mechanism) causes cmake (or whatever) to include the files 
under "itkvcl/Header Files" on my machine and not on the machine at work?

Do you have any ideas and/or suggestions?

Any help is highly appreciated.

Klaus




Klaus Drechsler wrote:
> Hi,
>
> since today I cannot compile ITK on my notebook anymore. I would not 
> say that i am a newbie (I am using ITK for about one and half a year 
> and installed and compiled different versions on different machines).
>
> I am using ITK 3.12 on my notebook since it came out, but since today 
> everything seems to be messed up.
>
> I tried the following:
>
> -Downloaded and tried to compile fresh versions of ITK 3.12 and 3.14 
> (with standard cmake config and/or with tuned configs that I used 
> before).
> -Reinstalled VS 2008
> -Tried to compile in different modes (Debug, Release, 32-bit, 64-bit, 
> etc.)
> -Tried different cmake versions
> -Cleaned the registry
>
> Nothing helped. I am desperate. I always get the same errors that are 
> shown in the attached BuildLog.htm.
>
> Do you have any ideas what could be wrong and what else I could try in 
> order to fix this problem?
>
> Greetings
>
> Klaus



More information about the Insight-users mailing list