[ITK] Multiple ITK-builds and CMake

Eriksson, Mikael mikael.k.eriksson at philips.com
Fri Sep 12 08:48:04 EDT 2014


Hello,

I'm experiencing some problems trying to build BRAINSTools (https://github.com/BRAINSia/BRAINSTools), from where I wanted to run the registration algorithms implemented in the 3DSlicer gui from the command line. The initial situation was: I had ITK (4.5) and VTK built from downloaded files in debug mode on my computer. I managed to build the modules that I wanted from BRAINSTools (BRAINSFit and BRAINSDemonWarp and their dependencies) in debug mode. Everything was fine until I tried running a registration - I hadn't realized until then that debug mode would make the registrations run really slowly.

So, since I now have git on my computer, I cloned fresh versions of ITK and VTK to new source folders at the same levels as the old source folders, and built one debug version and one release version for both ITK and VTK, into separate folders. So my directory structure looked like this.

C:/          -              ITK/        -              srcOld (ITK 4.5, from files)
                                                                binOld (debug)
srcNewDebug (ITK 4.7, from source)
srcNewRelease (ITK 4.7, from source)
binNewDebug
binNewRelease

C:/          -              VTK/      -              corresponding...

I probably have an unnecessary amount of builds and folders, but I was afraid to ruin any previous work.

Now I tried to build BRAINSTools again with CMake. The problem here is that there is no option to specify ITK_DIR in the CMakeGUI, as there is in other programs. So I'm not sure how CMake finds and chooses an ITK-build, but I think it fails, because when compiling the BRAINSTools solution in Visual Studio 2010 as usual, using release mode this time, I got linking errors saying that some ITK-libraries couldn't be found:

error LNK1181: cannot open input file '..\..\lib\Release\ITKCommon-4.7.lib'

I changed my environment variables ITK_DIR to C:/ITK/binNewRelease and changed the old ITK and VTK entries in the PATH variables to the new ones (changed C:\ITK\binOld\bin\debug to C:\ITK\binNewRelease\bin\Release and same for VTK). The same problem persisted however. Can anybody, give any suggestions for how to solve this particular problem? Also, I would be very happy for an explanation or a good link for how CMake and ITK interconnect, and especially, how CMake chooses an ITK build. I looked at the findITK.CMake files, and the ITKConfig.cmake and useITK.cmake files and read the documentation for the find_package function, but it's still not clear to me how it works.

Best regards,
Mikael

.......................................................................................................
Mikael Eriksson
R&D Physicist Trainee
Philips Medical Systems MR Finland, Feasibility studies
mikael.k.eriksson at philips.com<mailto:mikael.k.eriksson at philips.com>
.......................................................................................................


________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140912/c7825179/attachment-0002.html>


More information about the Community mailing list