Skip to content
Snippets Groups Projects
Forked from VTK / VTK
36173 commits behind the upstream repository.
Jean-Christophe Fillion-Robin's avatar
Jean-Christophe Fillion-Robin authored
Following e16fac17, hdf5 libraries are build with -D_BIND_TO_CURRENT_VCLIBS_VERSION=1.

When building VTK using VS2008, the result of this is that
(1) VTK libraries all reference "9.0.21022.8" manifest expect the hdf5
ones that reference "9.0.30729.1" and (2) in some case prevent application
built against VTK from starting.

The problem can also be detected when running CMakeVerifyManifest.cmake
against the application install tree. It basically returns a message
similar to the following one:

8<----8<----8<----8<----8<----8<----8<----
ERROR: C:/Program Files/AwesomeApp 1.0.0/bin/vtkhdf5_hl-6.2.dll uses 9.0.30729.6161 not found in shipped manifests:[9.0.21022.8].
CMake Error at C:/D/Support/cmake-3.2.2-win32-x86/share/cmake-3.2/Modules/CMakeVerifyManifest.cmake:118 (message):
  This distribution embeds dll versions that it does not ship, and may not
  work on other machines.
8<----8<----8<----8<----8<----8<----8<----

Here are some more information copied from the convenience script allowing
to patch the manifest from VS2008.

Source:  https://gist.github.com/jcfr/3c7bef3f8b32f9f6ad4b

8<----8<----8<----8<----8<----8<----8<----8<----

.SYNOPSIS
    Patch manifests in the redist folder of Visual Studio 9 (2008)
.DESCRIPTION
    To avoid the dll hell associated with runtime libraries distribution. There are
    two approaches:
     (1) edit the manifest file to have "9.0.21022.8" from the "9.0.30729.XXX" that is there, you "trick"
         your executable into using the newer dlls.  There appears to be no ill effects from this.
         The executables work, and you are using a newer version of the run time library.
     (2) add -D_BIND_TO_CURRENT_VCLIBS=1 to ALL files being compiled, then all of your executable files
         and dll files will refer to "9.0.30729.XXX" and you can use the redist files without any edits.
         However, you have to be careful here to recompile everything with this.  By default the compiler
         will build for "9.0.21022.8".

    This script will consider approach (1). If not already done, this script will first backup the
    manifest files and then patch them.

    See:
      * http://www.kitware.com/blog/home/post/4
      * http://stackoverflow.com/questions/8097733/how-to-distribute-c-run-time-crt-libraries

8<----8<----8<----8<----8<----8<----8<----8<----
e6e67374
History

VTK - The Visualization Toolkit

Introduction

VTK is an open-source software system for image processing, 3D graphics, volume rendering and visualization. VTK includes many advanced algorithms (e.g., surface reconstruction, implicit modelling, decimation) and rendering techniques (e.g., hardware-accelerated volume rendering, LOD control).

VTK is used by academicians for teaching and research; by government research institutions such as Los Alamos National Lab in the US or CINECA in Italy; and by many commercial firms who use VTK to build or extend products.

The origin of VTK is with the textbook "The Visualization Toolkit, an Object-Oriented Approach to 3D Graphics" originally published by Prentice Hall and now published by Kitware, Inc. (Third Edition ISBN 1-930934-07-6). VTK has grown (since its initial release in 1994) to a world-wide user base in the commercial, academic, and research communities.

Learning Resources

Reporting Bugs

If you have found a bug:

  1. If you have a patch, please read the CONTRIBUTING.md document.

  2. Otherwise, please join the one of the VTK Mailing Lists and ask about the expected and observed behaviors to determine if it is really a bug.

  3. Finally, if the issue is not resolved by the above steps, open an entry in the VTK Issue Tracker.

Contributing

See CONTRIBUTING.md for instructions to contribute.

License

VTK is distributed under the OSI-approved BSD 3-clause License. See Copyright.txt for details.