[ITK-users] VS input library files

Francois Budin francois.budin at kitware.com
Tue Aug 22 09:32:39 EDT 2017


Hello Gib,

It seems that you built ITK with the VTK bridge (CMake option
Module_ITKVtkGlue), and you probably built VTK with Qt support. It is
surprising that the Qt libraries do not match the Qt version on your
computer. Did you build VTK on a different computer?
To be able to compile any project that you link against ITK, CMake needs to
know of all the dependencies of ITK. Because ITK is still using the CMake 2
paradigm (project based dependencies, vs CMake 3 that is target based), if
you do not specify which module needs to be loaded, all the dependencies
will be added to all your targets.
If you want to limit the number of dependencies, you can specify the ITK
components that are loaded by CMake:
find_package(ITK COMPONENTS {add required components here} )

Another solution is to rebuild ITK without VTK support.
Hope this helps,
Francois

On Tue, Aug 22, 2017 at 12:02 AM, Gib Bogle <g.bogle at auckland.ac.nz> wrote:

> I am building applications using ITK on Windows 7, with cmake and Visual
> Studio 2010.  The CMakeLists.txt file is very simple:
>
>
> PROJECT(compress)
> FIND_PACKAGE(ITK)
> IF(ITK_FOUND)
> INCLUDE(${ITK_USE_FILE})
> ELSE(ITK_FOUND)
> MESSAGE(FATAL_ERROR
> "ITK not found. Please set ITK_DIR.")
> ENDIF(ITK_FOUND)
>
> set(PROJECTNAME "compress")
> ADD_EXECUTABLE(${PROJECTNAME} compress.cpp)
> TARGET_LINK_LIBRARIES(${PROJECTNAME} ${ITK_LIBRARIES} )
>
>
> and the cmake command is:
>
>
> cmake -G "Visual Studio 10 Win64"
>
>
> The .vcproj file created has, in the Linker > Input > Additional
> Dependencies list not only what looks like all the ITK libraries (about 78)
> but also a whole lot of VTK libraries (about 35) and 3 Qt libraries.  This
> is for a program that uses neither VTK nor Qt.  I don't understand why all
> these libraries are included.  I guess it doesn't really matter, since they
> don't finish up in the .exe, but it is a nuisance because for some reason
> the Qt libraries that it expects are a different version from those on the
> computer, which means I have to either delete those libraries from the list
> or change the version number.  If I was having to do this just a couple of
> times it wouldn't be worth worrying about, but I am rebuilding on a new
> machine a large number of programs that all have this issue.
>
>
> It would help to have a better understanding of the system that generates
> this list.  Maybe there is a simple way to prevent unwanted libraries from
> getting into the list.
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20170822/b6b8fcff/attachment.html>


More information about the Insight-users mailing list